gpt4 book ai didi

ios - 单点触控 : Using SetBackgroundImage() throws Selector error

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

我有一个要添加到 UINavigationBar 的简单按钮,Min OS 是 3.2,我们使用默认编译器进行编译。我有 MT 5.0:

            saleImg = UIImage.FromFileUncached (shoppingImg);
saleButton = new UIBarButtonItem ("", UIBarButtonItemStyle.Bordered, (s, o) => {ItunesHelper.Open (); });
saleButton.SetBackgroundImage(saleImg,UIControlState.Normal,UIBarMetrics.Default);
saleButton.SetBackgroundImage(saleImg,UIControlState.Selected, UIBarMetrics.Default);
saleButton.SetBackgroundImage(saleImg,UIControlState.Highlighted, UIBarMetrics.Default);

但是在运行时会抛出错误:

抛出 Objective-C 异常。名称:NSInvalidArgumentException 原因:-[UIBarButtonItem setBackgroundImage:forState:barMetrics:]: 无法识别的选择器发送到实例 0x76d4d00

最佳答案

UIBarButtonItem.SetBackgroundImage 方法是在 iOS 5 中引入的.由于您收到“无法识别的选择器...”消息,我只能假设您在 iOS 版本低于 5.0 的设备上运行该应用程序。

如果您希望您的应用向后兼容,请创建一个按钮并使用 UIBarButtonItem(UIView) 构造函数初始化 UIBarButtonItem:

UIButton button = UIButton.FromType(UIButtonType.Custom);
button.SetBackgroundImage(saleImg, UIControlState.Normal);
button.TouchUpInside += (s, o) => {ItunesHelper.Open (); };
UIBarButtonItem saleButton = new UIBarButtonItem(button);

设置最低操作系统版本并不意味着 MonoDevelop 或编译器会通知您 API 兼容性。它只是 Info.plist 中的一个设置,它将决定您的应用程序是否会出现在该版本设备的 App Store 中。

关于ios - 单点触控 : Using SetBackgroundImage() throws Selector error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8206903/

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