iphone - 如何在 iOS 中创建不在 Unicode 中的下标字符

标签 iphone objective-c cocoa-touch ios nsstring

我已经尝试了一段时间来创建一个带有下标字符的 NSString 但没有成功。甚至可以在 iOS 中执行此操作吗?
我需要一种方法来将字符串中的字符更改为下标或上标,但我不能为此使用 Unicode,因为 Unicode 没有所有字母。
我的猜测可能是使用 HTML 标签 <sub><sup>但我还没有找到将所述 HTML 标记转换为 NSString 的方法。

最佳答案

我无法让 NSSuperscriptAttributeName 工作,但在以下方面取得了成功:

UILabel *label = [[UILabel alloc] init];

NSString *string = @"abcdefghi";

NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:string];

NSInteger num1 = 1;
CFNumberRef num2 = CFNumberCreate(NULL, kCFNumberNSIntegerType, &num1);

[attrString addAttribute:(id)kCTSuperscriptAttributeName value:(id)num2 range:NSMakeRange(4,2)];

label.attributedText = attrString;

[attrString release];

这给你:enter image description here

通过 label.attributedText 将属性字符串分配给标签是 6.0 的新功能,但属性字符串的设置方式可能适用于早期版本的 iOS。

向 kCTSuperscriptAttributeName 发送一个负值给你一个下标。

不要忘记添加 CoreText 框架。

关于iphone - 如何在 iOS 中创建不在 Unicode 中的下标字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080175/

相关文章:

ios - 从字符串中获取日期的各个部分

ios - 使用 MPMoviePlayer 从广播流获取元数据? (iOS)

ios - iPhone 6 plus 设计分辨率

iphone - 应用程序中分配了很多内存,如何解决?

iphone - 对象-C : Creating an object with a String name

ios - UITableView 最后一个被 UITabBarController 隐藏的单元格

objective-c - 如何找到获得所需 lineHeight 或其他指标所需的 UIFont pointSize?

ios - Cocos2d Xcode - SLComposeViewController 黑屏

ios - 尝试无缝循环 AVPlayer (userCapturedVideo) 时出现问题

ios - 让用户拍照并在表格 View 中使用它们的最佳做法是什么?