Верхние индексы в атрибутной строке
Я пытаюсь заставить свой ярлык выглядеть так:
Но используя атрибутную строку, мне удалось получить этот результат:
- Зашифрованные NSData для NSString в obj-c?
- Использование NSString в операторе switch
- Как объявить двухмерный массив типа string в Objective-C?
- Форматирование номера для отображения запятых и / или знака доллара
- objective C: что такое «(id) отправитель»?
Мой код:
NSString *string = [NSString stringWithFormat:@"%0.2f",ask]; NSMutableAttributedString *buyString = [[NSMutableAttributedString alloc] initWithString:string]; [buyString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15.0] range:NSMakeRange(2, buyString.length - 2)]; self.labelBuy.attributedText = buyString;
Как видите, цифры после точки остаются ниже, и я хотел бы вытащить их на первое место в качестве первого примера. Есть ли способ установить атрибутный строковый фрейм?
- Объективные переменные уровня статического classа
- Динамически размер uitableViewCell в соответствии с UILabel (с интервалом между абзацами)
- Каковы детали «Objective-C Literals», упомянутые в примечаниях к выпуску Xcode 4.4?
- objective C Интроспекция / reflection
- OpenCV C ++ / Obj-C: Обнаружение листа бумаги / Квадратное обнаружение
- Как я могу сделать свое шифрование AES идентичным между Java и Objective-C (iPhone)?
- Загрузка изображения из CoreData на cellForRowAtIndexPath замедляет прокрутку
- Как добавить subview с собственным UIViewController в Objective-C?
Вы должны использовать NSBaselineOffsetAttributedName
.
Из документа:
NSBaselineOffsetAttributeName
Значение этого атрибута – это объектNSNumber
содержащий значение с плавающей точкой, указывающее смещение символа от базовой линии, в точках. Значение по умолчанию равно 0.
Доступен в iOS 7.0 и более поздних версиях.
Из вашего примера:
[buyString addAttribute:NSBaselineOffsetAttributeName value:@(10.0) range:NSMakeRange(2, buyString.length - 2)];
Возможно, вам придется изменить значение, соответствующее вашим потребностям.
Почему бы не использовать верхний индекс? Вы должны сначала #import “CoreText / CoreText.h”
[buyString addAttribute:(NSString *)kCTSuperscriptAttributeName value:@1 range:NSMakeRange(2, buyString.length - 2)];