我正在尝试为 a显示的 a打开连字( NSLigatureAttributeName
)。NSAttributedString
UILabel
我的目标是 iOS 6.1 并在 iPad 模拟器中运行。
我的一组测试词是:
- 孢子
- 乳糜泻
- 半途而废
- 悬而未决
- 委托人
- 鼻烟壶
- 领地简报
- 脱轨
- 大欣拉夫特
- 棺材
我的测试代码很简单,它遍历单词列表并UILabel
使用text
属性在 a 中显示一个:
self.normalLabel.text = words[i];
另一个使用该attributedText
属性,在创建后(有关 的值的更多信息,NSAttributedString
请参见Brandon Campbell 的NSLigatureAttributeName
回答):
NSDictionary *attrs = @{ NSFontAttributeName : [UIFont systemFontOfSize:74.0],
NSLigatureAttributeName : @1, //@2 not supported in iOS
NSBackgroundColorAttributeName : [UIColor redColor]};
self.attr.attributedText = [[NSAttributedString alloc] initWithString:words[i] attributes:attrs];
如您所见,我设置NSLigatureAttributeName
为 2 (作为NSNumber
)。但这对单词没有影响:
我正在使用systemFont
(Helvetica Neue),这是一个调试器输出:
(lldb) po self.attr.attributedText
$0 = 0x0719bc90 aeciospore{
NSBackgroundColor = "UIDeviceRGBColorSpace 1 0 0 1";
NSFont = "<UICFFont: 0x719cc80> font-family: \".Helvetica NeueUI\"; font-weight: normal; font-style: normal; font-size: 74px";
NSLigature = 1;
}
(lldb)