我一直在努力更改 iOS7 中取消按钮上的文本。
在 iOS6 中我没有问题 - 文本已更改。但在 iOS7 中它没有任何效果,我被“取消”卡住了。
但最后我找到了下面的代码,它改变了 iOS7 中默认的“取消”文本。
现在的问题是,在 iOS6 中运行的应用程序在打开搜索栏时会崩溃。
有谁知道为什么以及如何解决这个问题以同时在 iOS7 和 iOS6 上工作?这是错误信息。
2013-11-10 16:58:38.048 Testapp[45017:907] -[__NSCFConstantString setTitle:forState:]:无法识别的选择器发送到实例 0x11dfc 2013-11-10 16:58:38.050 Testapp[45017:907] *终止应用程序由于未捕获的异常“NSInvalidArgumentException”,原因:“-[__NSCFConstantString setTitle:forState:]:无法识别的选择器发送到实例 0x11dfc”
和 main.m
int retVal = UIApplicationMain(argc, argv, nil, nil);
得到一个线程 1:signal SIGABRT
代码如下。
-(void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller{
self.searchDisplayController.searchBar.showsCancelButton = YES;
UIButton *cancelButton;
UIView *topView = self.searchDisplayController.searchBar.subviews[0];
for (UIView *subView in topView.subviews) {
if ([subView isKindOfClass:NSClassFromString(@"UINavigationButton")]) {
cancelButton = (UIButton*)subView;
}
}
if (cancelButton) {
[cancelButton setTitle:@"Testing" forState:UIControlStateNormal];
}
}