我在通过 UIAppearance 自定义 UIToolbar 和 UISearchBar 方面时收到无法识别的选择器发送到实例错误。
奇怪的是,仅在 6.1 或更低版本上崩溃,在 iOS7 上很好,并且不会崩溃。
这是我正在使用的代码:
[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbarBackground"] forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefaultPrompt];
[[UIToolbar appearance] setTintColor:[UIColor whiteColor]];
[[UISearchBar appearance]setBackgroundImage:[UIImage imageNamed:@"searchBarBackground"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
[[UISearchBar appearance] setTintColor:[UIColor whiteColor]];
应该没问题。但是每次我在 iOS 6.1 Simulator 上启动应用程序时,我都会得到
-[_UIAppearance setBackgroundImage:forBarPosition:barMetrics:]: unrecognized selector sent to instance 0xaba4550
对于 UIToolbar 和 UISearchBar。我确定它们会导致崩溃,因为如果我评论这些行,应用程序会正常启动。
这段代码有什么问题?我真的被这个困住了。
编辑 我设法通过在需要自定义的类中设置方面来使其工作,例如:
[[UISearchBar appearance]setBackgroundImage:[UIImage imageNamed:@"searchBarBackground"]];
但是现在,当我点击 SearchBar 时,它给了我默认的外观。