2014-11-19 2 views
0

Я хочу поместить числа в метку с выравниванием, как на изображении. Ни один из режимов выравнивания метки не мог помочь мне.iOS как рисовать текст в UILabel с использованием стандартного выравнивания

Десятичные цифры должны быть над центральной линией и между верхним краем. Остальные цифры должны быть выровнены обычным способом. Я даже не знаю, что такое «профессиональное» имя для такой вещи или любого API, который может вам помочь.

Может кто-нибудь указать мне в направлении или иметь примерный фрагмент?

Благодаря

enter image description here

enter image description here

+0

я думаю, что вы можете сделать это с помощью приписывали текст – Smile

+0

Глядя в него, но не видят вещи ... –

+0

Что вы ищете for называется верхним индексом (верхний индекс) или индексом (ниже индекса) –

ответ

1

Используйте нижеприведенный код. Я сделал это, используя NSMutableAttributedString.

NSString *str = @"$899.00"; 
NSMutableAttributedString *attrString = [NSMutableAttributedString new]; 

NSMutableAttributedString *attrSuperScript = [[NSMutableAttributedString alloc] initWithString:str]; 
[attrSuperScript addAttribute:(NSString*)kCTSuperscriptAttributeName value:@"-1" range:NSMakeRange(0, [str length] - 3)]; 
[attrSuperScript addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Thin" size:28] range:NSMakeRange(0, [str length])]; 
[attrSuperScript addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Thin" size:15] range:NSMakeRange([str length] - 3, 3)]; 

[attrString appendAttributedString:attrSuperScript]; 
[attrString addAttribute:NSForegroundColorAttributeName value:[UIColor greenColor] range:NSMakeRange(0, [str length])]; 

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20, 100, 200, 50)]; 
[label setAttributedText:attrString]; 
[self.view addSubview:label]; 

пример снимок экрана выход:

enter image description here

0

Самый простой способ вы можете достичь его с помощью атрибута NSSuperscriptAttribute из NSAttributed строки ...

Если вам нужно что-то любитель, я считаю, только варианты используют 2 метки или код пользовательского чертежа/основной текст

+0

Я не думаю, что 'NSSuperscriptAttribute' доступен уже сейчас. Пожалуйста, проверьте еще раз. – Kampai

+0

Вы правы, используйте '(NSString *) kCTSuperscriptAttributeName', вам нужно сначала импортировать CoreText –

Смежные вопросы