我在应用商店中有一个正在使用Flurry Analytics的应用。而且我经常会遇到无法解决的异常错误。
NSInvalidArgumentException:-[UIBarButtonItem setTintColor:]:无法识别的选择器已发送到实例0x177b20
消息:应用程序崩溃了
我不知道的是,我没有在任何地方设置任何条形按钮项目的着色颜色。我有一些自定义视图,在其中可以设置右栏按钮项,但是没有色彩。
我对按钮的大多数使用都是这样的。
- (void)viewDidLoad
{
[super viewDidLoad];
UINavigationBar *bar = [self.navigationController navigationBar];
[bar setTintColor:[UIColor colorWithRed:0 green:69.0/255 blue:118.0/255 alpha:1]];
self.navigationItem.title = @"Edit User";
UIBarButtonItem *saveButton = [[UIBarButtonItem alloc]
initWithTitle:@"Save"
style:UIBarButtonItemStylePlain
target:self
action:@selector(editUser:)];
self.navigationItem.rightBarButtonItem = saveButton;
[saveButton release];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
target:self
action:@selector(cancel)];
[[self navigationItem] setLeftBarButtonItem:cancelButton];
[cancelButton release];
}
如果有人对此问题有任何见解,我将不胜感激。我在项目中的目标是iOS 4.0及更高版本。
更新:
我弄清楚是什么引起了setTintColor上的一些随机问题。我发现我在实际的条形按钮项目之一上设置了颜色。我猜想OS版本之间存在一些差异,可能会导致崩溃。因此,如果任何人都可以告诉我一种在OS中立的方法来在我的导航栏中设置自定义右键栏按钮,则将不胜感激。
最佳答案
问题出在2个类上的-setTintColor错误用法。 -setTintColor在4.x设备上不受支持,因此,当较旧的设备撞上色调颜色时,您将崩溃。