2012-03-17 4 views
1

Я использую CoreText, и я хочу сделать так, чтобы мой NSMutableAttributedString всегда центрировал его текст. Это код, я использую, и он не работает:CoreText Горизонтальный центр Выравнивание текста

CTTextAlignment paragraphAlignment = kCTCenterTextAlignment; 
    CTParagraphStyleSetting paragraphSettings[1] = {{kCTParagraphStyleSpecifierAlignment, sizeof(CTTextAlignment), &paragraphAlignment}}; 
CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(paragraphSettings, 1); 

text = [[NSMutableAttributedString alloc] initWithString:@"" attributes:[NSDictionary dictionaryWithObjectsAndKeys: (id)paragraphStyle, (NSString*)kCTParagraphStyleAttributeName, nil]]; 

Кто-нибудь есть идеи, как правильно это сделать?

+0

Какова остальная часть кода для отображения текста? (Ответ зависит от подпрограмм, которые вы используете). – lnafziger

+1

http://stackoverflow.com/questions/6801856/iphone-nsattributedstring-add-text-alignment/6801901#6801901 должен ответить на ваш вопрос. –

ответ

0

Другое решение без использования CoreText, если ваше приложение совместимо с 10.10 или выше, должно использовать NSParagraphStyle.

NSMutableParagraphStyle *rectStyle = NSMutableParagraphStyle.defaultParagraphStyle.mutableCopy; 
rectStyle.lineBreakMode = NSLineBreakByClipping; 
rectStyle.alignment = NSTextAlignmentCenter; 

NSMutableAttributedString *att = [[NSMutableAttributedString alloc] initWithString:myText attributes:@{NSParagraphStyleAttributeName : rectStyle}]; 
Смежные вопросы