我想,我需要另一个好的建议。到目前为止,我的解决方案似乎运行良好,但现在......
好吧,事实:
- 我有一个普通的 UIViewController
- 在 UINavigationBar 顶部,在 UISearchBar 后面,最初隐藏
- 在底部一个 UIToolBar
- 我的主视图控制器支持 UISearchBarDelegate
UIToolBar 上的开关切换 UISearchBar 的可见性
if (show) {
[searchBar setShowsCancelButton:TRUE animated:TRUE];
[navigationBar setHidden:TRUE];
[searchBar becomeFirstResponder];
}
else {
[navigationBar setHidden:FALSE];
[searchBar setShowsCancelButton:FALSE animated:TRUE];
}
searchIsVisible = !searchIsVisible;
周围有一些动画,但例如我已经放弃了这个。它运行良好,我可以输入搜索字符串并使用“searchBarSearchButtonClicked:”访问它。我还可以对“searchBarCancelButtonClicked:”做出反应
我以前没有注意到它,或者它现在发生了 - 我偶尔会在没有进一步通知的情况下捕捉到 EXC BAD ACCESS。我很确定,“[searchBar becomeFirstResponder];” 声明就是这样做的原因,因为我也可以通过点击搜索线来激发它。
不幸的是,我无法弄清楚,原因是什么。我是否必须提供另一个委托方法,就像我现在拥有的两个?
欢迎任何指针。