Формат NSString, такой как HTML-тег <sup> - PullRequest
0 голосов
/ 22 марта 2012

Как я могу напечатать на UILabel текст, подобный этому "м³"?

Спасибо

Ответы [ 4 ]

2 голосов
/ 22 марта 2012

Вы можете получить значение sup по значению Unicode 0x2081 или 0x2082 или 0x2083, изменив последнюю цифру 0x208

Если вы можете печатать в uilabel м³, следуйте инструкциям

const unichar ch = 0x2083; NSString * string = [[NSString alloc] initWithFormat: @ "m% @", ch]; NSLog (@ "% @", строка);

Он напечатает м³, что вы хотите.

Затем добавьте строковое значение в UILabel.

1 голос
/ 22 марта 2012

Если вам нужны надстрочные цифры, проще всего было бы использовать надстрочные цифры из Unicode . Вы можете поместить их в NSString и использовать в UILabel без дальнейших изменений.

Если вам нужна дополнительная функциональность, вы можете использовать NSAttributedString с OHAttributedLabel.

1 голос
/ 22 марта 2012

NSString и UILabel не имеют такого расширенного форматирования.Вы можете напечатать ³, хотя, потому что это персонаж.Который вы можете безопасно положить в строку NSString, как NSString *symbol = @"³".Чтобы ввести другие строки, щелкните флаг США в правом верхнем углу и выберите «Просмотр символов».

0 голосов
/ 22 марта 2012

Для расширенного форматирования лучше всего будет использовать UIWebView:

UIWebView* webView;
// ...
NSString* html = @"m<sup>3</sup>";
[webView loadHTMLString:html baseURL:nil];

Но если вы хотите использовать только ³ и т. Д., Вероятно, проще использовать символы Юникода напрямую.

...