-->

在串IOS标字符(superscript characters in string IOS)

2019-10-16 16:35发布

我在Xcode的应用程序有一些产品数据的tableview。 我的一个产品在其名称上标e。 文本电子邮件 :我怎样才能在一个字符串像使用标字符

我可以得到它与数字工作:文字\ u2070 - >正文0或文字\ u2071 - >文本1。 但如何与其他人物做到这一点?

谢谢!

Answer 1:

TL;博士:NSString的不支持超/子脚本的概念。 这或多或少是一个UI格式的关注。

一个可能的解决方案是在代码,而不是接口建设者dynically添加UILabels。 你可以用较小的字体添加第二个的UILabel。



Answer 2:

添加CoreText框架,进口CoreText.h,并使用UIlabel.attributedText - 它有NSAttributedString全力支持。 问及SO已经多次回答。



Answer 3:

对于作为@ -1 kCTSuperscriptAttributeName标中使用的值。

按照该文件

@discussion值必须是一个CFNumberRef。 缺省值是int值0。如果由指定的字体支持,1的值使superscripting和-1的值使下标。

的extern常量CFStringRef kCTSuperscriptAttributeName CT_AVAILABLE(10_5,3_2);

Example- [lblHeader setText:@“Headers [Alpha1 – text”];

        NSMutableAttributedString *headerSubscript = [[NSMutableAttributedString alloc]initWithAttributedString: lblHeader.attributedText];

        [headerSubscript addAttribute:(NSString *)kCTSuperscriptAttributeName value:@-1 range:NSMakeRange(14,1)];      

        [lblHeader setAttributedText:headerSubscript];


文章来源: superscript characters in string IOS