gpt4 book ai didi

ios - 如何设置当前iOS版本中不存在的枚举?

转载 作者:行者123 更新时间:2023-12-01 17:32:01 24 4
gpt4 key购买 nike

我试图在UIButton中为textLabel设置linebreakmode。

self.scheduleButton.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;

在iOS 6.0之前, NSLineBreakByWordWrapping将不可用。
self.scheduleButton.titleLabel.lineBreakMode = UILineBreakModeWordWrap;

将在iOS6之前运行,但是XCode抛出错误,说它无法识别 UILineBreakModeWordWrap

如何确保在iOS 6之前完全忽略UILineBreakModeWordWrap代码。

我已经做了一个宏来检查OS版本,如果使用方法的话,我应该使用responsToSelector,但这是一个枚举类型。
SYSTEM_VERSION_LESS_THAN(@"6.0")

我在这里使用它,但是在if-else场景中,但是它仍然无法正常工作,因为XCode仍然会告诉我UILineBreakModeWordWrap无法识别。

有什么方法可以在预处理级别了解OS版本?
#define SYSTEM_VERSION_LESS_THAN(v)                ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

我制作的这个宏只会添加Objective C代码来确定OS类型,这意味着检查将在运行时进行。

但是由于这个XCode不会忽略 UILineBreakModeWordWrap

最佳答案

NSLineBreakByWordWrappingUILineBreakModeWordWrap都具有相同的值。只要您的Base SDK是6.0或更高版本,然后使用NSLineBreakByWordWrapping就会使编译器满意,并且它将在运行时适用于任何版本的iOS。

关于ios - 如何设置当前iOS版本中不存在的枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18202424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com