У меня есть UITextView, который отображает достаточное количество текста. Мне нужно горизонтально центрировать некоторые, но не все строки текста в текстовом представлении.
Я попытался установить NSParagraphStyleAttributeName
с экземпляром NSParagraphStyle, свойство alignment
которого равно NSTextAlignmentCenter
в диапазоне строки, которая должна быть центрирована. Я также устанавливаю шрифт, чтобы центральная линия была жирной. Когда я делаю это, используя приведенный ниже код, соответствующая строка выделяется жирным шрифтом, но остается выровненной по левому краю.
if (shouldCenterLine) {
NSMutableParagraphStyle *centerStyle = [[NSMutableParagraphStyle alloc] init];
centerStyle.alignment = NSTextAlignmentCenter;
NSDictionary *attributes = @{NSParagraphStyleAttributeName : centerStyle,
NSFontAttributeName : boldFont};
[attributedString setAttributes:attributes range:lineRange];
}
Если я применю этот же атрибут стиля абзаца ко всему содержимому текстового представления, текст окажется в центре, как и ожидалось.
Можно ли убедить UITextView
центрировать определенные поддиапазоны текста? Является ли единственным решением переход на UIWebView
рендеринг сгенерированного HTML? Обратите внимание, что это для приложения, которое все еще поддерживает iOS 6, поэтому, к сожалению, я не могу использовать Text Kit.
NSTextAlignmentCenter
. (Возможно, было бы полезно включить код, который создаетlineRange
.) - person ArtOfWarfare   schedule 15.01.2014lineRange
для включения новой строки перед центрируемой строкой (т. е. добавление одного дополнительного символа в начало) устранило проблему. - person Andrew Madsen   schedule 15.01.2014