Ios 为什么为TARGET_OS_IPHONE定义的NSTextAlignment枚举不同?
我只是在看UIKit中的NSText.h,下面的代码让我觉得很不寻常Ios 为什么为TARGET_OS_IPHONE定义的NSTextAlignment枚举不同?,ios,uikit,Ios,Uikit,我只是在看UIKit中的NSText.h,下面的代码让我觉得很不寻常 /* Values for NSTextAlignment */ typedef NS_ENUM(NSInteger, NSTextAlignment) { NSTextAlignmentLeft = 0, // Visually left aligned #if TARGET_OS_IPHONE NSTextAlignmentCenter = 1, // Visually cent
/* Values for NSTextAlignment */
typedef NS_ENUM(NSInteger, NSTextAlignment) {
NSTextAlignmentLeft = 0, // Visually left aligned
#if TARGET_OS_IPHONE
NSTextAlignmentCenter = 1, // Visually centered
NSTextAlignmentRight = 2, // Visually right aligned
#else /* !TARGET_OS_IPHONE */
NSTextAlignmentRight = 1, // Visually right aligned
NSTextAlignmentCenter = 2, // Visually centered
#endif
NSTextAlignmentJustified = 3, // Fully-justified. The last line in a paragraph is natural-aligned.
NSTextAlignmentNatural = 4, // Indicates the default alignment for script
} NS_ENUM_AVAILABLE_IOS(6_0);
为什么TARGET_OS_IPHONE的NSTextAlignmentRight和NSTextAlignmentCenter的值与not不同?在iOS 6之前,iOS没有
NSTextAlignment
。使用的iOSUITextAlignment
。Center
值为1
,Right
值为2
然后在iOS 6中,添加了NSTextAlignment
。为了保持向后兼容性,NSTextAlignmentCenter
的值与UITextAlignmentCenter
的值相同。右侧的相同
iOS上的NSTextAlignment
enum与弃用的uitextlalignment
匹配比与OS X中的值相同更重要
iOS上的UITextAlignment
和OS X上的NSTextAlignment
之间的最初区别可能只是一个简单的疏忽。但这只是一个简单的猜测