我在Xcode的应用程序有一些产品数据的tableview。 我的一个产品在其名称上标e。 文本电子邮件 :我怎样才能在一个字符串像使用标字符
我可以得到它与数字工作:文字\ u2070 - >正文0或文字\ u2071 - >文本1。 但如何与其他人物做到这一点?
谢谢!
我在Xcode的应用程序有一些产品数据的tableview。 我的一个产品在其名称上标e。 文本电子邮件 :我怎样才能在一个字符串像使用标字符
我可以得到它与数字工作:文字\ u2070 - >正文0或文字\ u2071 - >文本1。 但如何与其他人物做到这一点?
谢谢!
TL;博士:NSString的不支持超/子脚本的概念。 这或多或少是一个UI格式的关注。
一个可能的解决方案是在代码,而不是接口建设者dynically添加UILabels。 你可以用较小的字体添加第二个的UILabel。
添加CoreText框架,进口CoreText.h,并使用UIlabel.attributedText - 它有NSAttributedString全力支持。 问及SO已经多次回答。
对于作为@ -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];