Когда я использую файл .txt в своем приложении (даже когда я исправляю его, насколько могу), строки в конце обрезаются. Я хочу, чтобы текст доходил до конца строки (до правой части экрана, как и в первой строке). Стоит ли использовать файл другого типа? Если да, то какие? а если нет, как мне заставить слова доходить до конца строки?

Благодарность

P.s. чистый txt не решает проблему введите описание изображения здесь

Я хочу, чтобы это выглядело так

enter image description here

ios
1
MendyK 10 Сен 2014 в 23:17
Итак, вы хотите, чтобы линии были «оправданными»?
 – 
Hot Licks
10 Сен 2014 в 23:39
Лижет, я отредактировал вопрос
 – 
MendyK
10 Сен 2014 в 23:43

2 ответа

Лучший ответ

Если я правильно интерпретирую ваш вопрос (на вашем примере), это не вопрос усечения, а вопрос обоснования. Вам нужно «полное выравнивание», то есть растягивание текста слева направо от вставок, чтобы текст отображался как прямоугольный блок текста.

Если да, и вы используете UITextView, то:

Для iOS 6 и более ранних версий UITextView * textView = @ ""; // заменить на свойство, представляющее текст из вашего файла .txt textView.textAlignment = NSTextAlignmentJustified;

Для iOS 7+ (выше не рекомендуется) К сожалению, вам нужно использовать CoreText или UIWebView. См. Этот пост Обоснованное выравнивание в UITextView

2
Community 23 Май 2017 в 13:26
Спасибо! ты был прав. Я не мог придумать это слово. Что, если я хочу, чтобы он работал как с ios6, так и с 7?
 – 
MendyK
10 Сен 2014 в 23:55
Я говорю пойти с подходом, указанным для IOS7. Должно работать на обоих
 – 
Wizkid
10 Сен 2014 в 23:59
Я только что попробовал метод ios6, который вы дали, и он сработал на моем iPhone 4, ios 7.1.2!
 – 
MendyK
11 Сен 2014 в 00:02

Получаете ли вы тот же результат, используя этот код?

NSString *fileName = @"impressum.txt";
NSURL *url = [[NSBundle mainBundle] URLForResource:[fileName stringByDeletingPathExtension] withExtension:[fileName pathExtension]];

NSError *error;
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithFileURL:url
                                                                               options:@{NSDocumentTypeDocumentAttribute:NSPlainTextDocumentType}
                                                                    documentAttributes:nil
                                                                                 error:&error];

CGRect paragraphRect = [attributedString boundingRectWithSize:CGSizeMake(_textLabel.frame.size.width), CGFLOAT_MAX)
                                                          options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
                                                          context:nil];

CGRect frame = _textLabel.frame;
frame.size.height = paragraphRect.size.height;
_textLabel.frame = frame;

[_textLabel setAttributedText:attributedString];
0
freshking 10 Сен 2014 в 23:36