我需要我的应用支持 iOS 5+。从之前的 iOS 6 开始,枚举 lineBreakMode UILabel 中的换行模式是 UILineBreakMode 类型, 它的类型为 NSLineBreakMode 对于 iOS 6+,检查当前运行的 iOS 版本以确定要使用的类型的最佳(或更正确)方法应该是什么?直接做[[UIDevice currentDevice] systemVersion] 之类的东西是正确的,还是有更好的办法?
谢谢!
Best Answer-推荐答案 strong>
运行时不需要检查iOS版本,枚举值是一样的,从UILineBreakMode 移动到NSLineBreakMode 时编译后的代码不会改变/p>
enum {
NSLineBreakByWordWrapping = 0,
NSLineBreakByCharWrapping,
NSLineBreakByClipping,
NSLineBreakByTruncatingHead,
NSLineBreakByTruncatingTail,
NSLineBreakByTruncatingMiddle
};
typedef NSUInteger NSLineBreakMode
typedef enum {
UILineBreakModeWordWrap = 0,
UILineBreakModeCharacterWrap,
UILineBreakModeClip,
UILineBreakModeHeadTruncation,
UILineBreakModeTailTruncation,
UILineBreakModeMiddleTruncation,
} UILineBreakMode;
关于ios - NSLineBreakMode 枚举和向后兼容性,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/19652424/
|