gpt4 book ai didi

ios - 发送到实例 UIBarButtonItem 的无法识别的选择器

转载 作者:行者123 更新时间:2023-11-29 13:25:15 24 4
gpt4 key购买 nike

我正在尝试自定义导航栏及其在我的 AppDelegate 文件中的按钮:

// first I am customizing the done button

[[UIBarButtonItem appearance] setBackgroundImage:buttonDone forState:UIControlStateNormal style:UIBarButtonItemStyleDone barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundImage:buttonDonePressed forState:UIControlStateHighlighted style:UIBarButtonItemStyleDone barMetrics:UIBarMetricsDefault];


//and then I am customizing the back button


[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBackPressed forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];

我收到 [_UIBarItemAppearance setBackgroundImage:]: unrecognized selector sent to instance 完成按钮。奇怪的是,后退按钮的定制工作正常,而完成按钮的定制会使应用程序崩溃。任何想法为什么?

*PSbuttonDone、buttonDonePressed、buttonBack 和 buttonBackPressed 是我创建的四个 UIImage-s*

更新:在 iOS 5.0 模拟器上,应用程序崩溃,但在 6.0 上它可以运行。关于如何避免 5.0 崩溃的任何建议?

最佳答案

根据文档,此签名仅适用于 iOS 6.0+

您可以通过以下方式测试对象方法的可用性:

[obj respondsToSelector:@selector(<methodName>)]

所以尝试:

id item = [UIBarButtonItem appearance];
if ([item respondsToSelector:@selector(setBackgroundImage:forState:style:barMetrics:)]) {
// Use new signature
} else {
// Use old signature
}

关于ios - 发送到实例 UIBarButtonItem 的无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13291602/

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