Я пытаюсь нарисовать эллипсированный текст на нескольких строках внутри прямоугольника.Многострочный текст, не получающий многоточие
Для NSLineBreakByTruncatingTail
, документация утверждает
отображается линия, так что начало помещается в контейнер и недостающий текст в конце строки обозначается многоточием глифа. Хотя этот режим работает для многострочного текста, он чаще используется для текста с одной строкой.
, но с этим режимом я получаю только одну строку:
Однако с NSLineBreakByWordWrapping
, я не получаю многоточие для текста слишком длинным:
Оба изображения используют один и тот же код ниже (красный фон - прямоугольник рисования текста) и, конечно, тот же размер прямоугольника, поэтому 2 строки должны d еконечно подойдет.
NSMutableParagraphStyle* paragraphStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
paragraphStyle.lineBreakMode = <<see above>>;
paragraphStyle.alignment = NSTextAlignmentNatural;
NSDictionary* drawingAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"HelveticaNeue" size:36],
NSFontAttributeName,
paragraphStyle,
NSParagraphStyleAttributeName,
nil];
const CGRect rect = CGRectMake(...);
[@"I do not get ellipsized in any way" drawInRect:rect withAttributes:drawingAttributes];
Есть ли способ объединить ellipsizing с многострочным рендеринга, как и сказано в документации? С помощью UILabel мне нужно было бы только установить количество строк на что-то отличное от 1, но как насчет текстового рендеринга через код?
Я считаю, что многострочный означает ... полосу прокрутки. И вы хотите 2 строки текстового поля. Таким образом, вы можете создать два textField, один нормальный другой усеченный хвост. –
Речь идет не об управлении пользовательским интерфейсом, а об обработке текста через код! – AndiDog
да, но текст будет отображаться в некоторых пользовательских интерфейсах. И ТОЛЬКО пользовательский интерфейс покажет в любом случае. если у вас есть два пользовательских интерфейса, это можно сделать. или, возможно, вам нужно создать пользовательский интерфейс с этим requiremnt. –