NSTextAlignment的可接受值为:
- NSTextAlignmentLeft
- NSTextAlignmentCenter
- NSTextAlignmentRight
- NSTextAlignmentJustified
- NSTextAlignment自然
前三个中的任何一个都将在 iOS 5 和 6 下同样工作。
NSLineBreakByTruncatingTail
不是真正有效的文本对齐类型,尽管NSTextAlignmentNatural
由于 C 枚举的排列方式,它在运行时看起来像。
因此,您需要全面切换NSTextAlignmentLeft
或进行功能检查。值得庆幸的是,文本对齐类型的更改支持将属性字符串推送到UILabel
(和其他地方)的新功能,这样你就有了一些东西可以挂起。
例如
if([label respondsToSelector:@selector(attributedText)])
label.textAlignment = NSTextAlignmentNatural;
else
label.textAlignment = NSTextAlignmentLeft;
尽管 else 在技术上是多余的,因为NSTextAlignmentLeft
它是默认值。