gpt4 book ai didi

ios - iOS 7 和 iOS 6 中的取消按钮

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

我一直在为 iOS7 中“取消”按钮上的文本更改而苦苦挣扎。

在 iOS6 中我没有问题——文本被改变了。但在 iOS7 中它没有效果,我坚持使用“取消”。

但最后我找到了下面的代码,它更改了 iOS7 中默认的“取消”文本。

现在的问题是,在 iOS6 中运行时,应用程序在打开搜索栏时会崩溃。

有人知道为什么以及如何解决此问题以在 iOS7 和 iOS6 上工作吗? 这是错误信息。

2013-11-10 16:58:38.048 Testapp[45017:907] -[__NSCFConstantString setTitle:forState:]: 无法识别的选择器发送到实例 0x11dfc2013-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];
}
}

最佳答案

在 IOS7 中,Apple 将 searchBar subview 包装到一个附加 View 中。以下是如何在两个 IOS 版本上更改标题的伪代码:

if ( iosVersion < IOS7) {
subViews = self.searchBar.subviews;
} else {
subViews = [(self.searchBar.subviews[0]) subviews];
}

for (id view in subViews) {
if ([view isKindOfClass:[UIButton class]]) {
UIButton* cancelbutton = (UIButton* )view;
[cancelbutton setTitle:@"NewTitle" forState:UIControlStateNormal];
break;
}
}

关于ios - iOS 7 和 iOS 6 中的取消按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19891510/

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