我在ios5 vs ios6
的不兼容方面有问题当我使用ios5
进行项目时label.textAlignment = UITextAlignmentCenter;
然后更新为ios6
label.textAlignment = NSLineBreakByTruncatingTail;
在IOS5安装的设备上运行代码后,就会给我错误。
我即将上传我的应用程序到AppStore,但是我希望我的应用也支持iOS5。我将如何处理ios5和ios6!
预先感谢!
nstextalignment的可接受值是:
- nstextalignmentleft
- nstextalignmentcenter
- nstextalignmentright
- nstextalignmentjustified
- nstextalignmentnatural
前三个中的任何一个将在iOS 5和6下同等地工作。
NSLineBreakByTruncatingTail
并不是真正有效的文本对齐类型,尽管由于C枚举的方式看起来像NSTextAlignmentNatural
。
因此,您需要在整个台上切换到NSTextAlignmentLeft
或进行功能检查。值得庆幸的是,文本对齐类型的变化是支持将归因字符串推向UILabel
(以及其他地方)的新能力,因此可以使您有所挂起。
,例如
if([label respondsToSelector:@selector(attributedText)])
label.textAlignment = NSTextAlignmentNatural;
else
label.textAlignment = NSTextAlignmentLeft;
虽然其他在技术上是多余的,因为 NSTextAlignmentLeft
是默认值。