• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 为什么为 TARGET_OS_IPHONE 定义不同的 NSTextAlignment 枚举?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:59:49 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我只是在查看 UIKit 中的 NSText.h,下面这段代码引起了我的注意

/* 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);

为什么 NSTextAlignmentRight 和 NSTextAlignmentCenter 的值被翻转为 TARGET_OS_IPHONE 而不是?



Best Answer-推荐答案


在 iOS 6 之前,iOS 没有 NSTextAlignment。 iOS 使用 UITextAlignmentCenter 值为 1Right 值为 2

然后在 iOS 6 中,添加了 NSTextAlignment。为了保持向后兼容性,NSTextAlignmentCenter 被赋予与 UITextAlignmentCenter 相同的值。 Right 也一样。

iOS 上的 NSTextAlignment 枚举与已弃用的 UITextAlignment 匹配比与 OS X 中的值相同更为重要。

iOS 上的 UITextAlignment 和 OS X 上的 NSTextAlignment 之间最初的区别可能是一个简单的疏忽。但这是一个简单的猜测。

关于ios - 为什么为 TARGET_OS_IPHONE 定义不同的 NSTextAlignment 枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175864/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap