我需要我的应用来支持iOS 5+。从之前的iOS 6开始,lineBreakMode
中的换行模式的枚举UILabel
属于UILineBreakMode
类型,而对于iOS 6+,它的类型为NSLineBreakMode
,应该是最好的(或更正确)检查当前运行的iOS版本以确定要使用的类型的方法?直接做[[UIDevice currentDevice] systemVersion]
之类的事情是对的,还是有更好的方法?
谢谢!
答案 0 :(得分:1)
您无需在运行时检查iOS版本,枚举值相同,从UILineBreakMode
移动到NSLineBreakMode
enum {
NSLineBreakByWordWrapping = 0,
NSLineBreakByCharWrapping,
NSLineBreakByClipping,
NSLineBreakByTruncatingHead,
NSLineBreakByTruncatingTail,
NSLineBreakByTruncatingMiddle
};
typedef NSUInteger NSLineBreakMode
typedef enum {
UILineBreakModeWordWrap = 0,
UILineBreakModeCharacterWrap,
UILineBreakModeClip,
UILineBreakModeHeadTruncation,
UILineBreakModeTailTruncation,
UILineBreakModeMiddleTruncation,
} UILineBreakMode;
答案 1 :(得分:0)
如果您想检查操作系统版本,可以使用以下代码:
+ (NSInteger)OSVersion
{
static NSUInteger _deviceSystemMajorVersion = -1;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_deviceSystemMajorVersion = [[[[UIDevice currentDevice] systemVersion] componentsSeparatedByString:@"."][0] intValue];
});
return _deviceSystemMajorVersion;
}