Как я могу добавить атрибут выравнивания текста в NSAttributedString для центрирования текста?
Изменить: я что-то делаю не так? Похоже, выравнивание не меняет.
CTParagraphStyleSetting setting;
setting.spec = kCTParagraphStyleSpecifierAlignment;
setting.valueSize = kCTCenterTextAlignment;
CTParagraphStyleSetting settings[1] = {
{kCTParagraphStyleSpecifierAlignment, sizeof(CGFloat), &setting},
};
CTParagraphStyleRef paragraph = CTParagraphStyleCreate(settings, sizeof(setting));
NSMutableAttributedString *mutableAttributed = [[NSMutableAttributedString alloc] initWithAttributedString:self.attributedString];
[mutableAttributed addAttributes:[NSDictionary dictionaryWithObjectsAndKeys:(NSObject*)paragraph ,(NSString*) kCTParagraphStyleAttributeName, nil] range:_selectedRange];
NSParagraphStyle
был недоступен для iOS.Swift 4.2
источник
NSTextAlignmentJustified
. можешь сказать почему? и как сделать выравнивание оправданным?NSTextAlignmentJustified
. Это ошибка iOS7?NSBaselineOffsetAttributeName : @0
в атрибуты Dictionary.NSAttributedString.alloc
?Я искал ту же проблему и смог выровнять текст по центру в NSAttributedString следующим образом:
источник
NSMakeRange(0, [string length])
Представляет полную строку.Swift 4.0+
Swift 3.0+
(оригинальный ответ ниже)
Swift 2.0+
источник
Swift 4 ответ:
источник
В быстром 4:
источник
источник