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

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

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

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

enter image description here

ios
1
MendyK 10 Сен 2014 в 23:17

2 ответа

Лучший ответ

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

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

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

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

2
Community 23 Май 2017 в 10:26

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

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 в 19:36