我想,我需要另一个好建议。到目前为止,我的解决方案似乎运行良好,但现在......
好的,事实:
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];”声明就是这个原因,因为我也可以通过点击搜索行来激发它。
不幸的是我无法弄明白,原因是什么。我是否必须提供另一种委托方法,就像我现在的两种方法一样?
任何指针欢迎。
答案 0 :(得分:0)
我的猜测是,searchBar正在被取消分配,你不知道。可能是因为您的视图控制器正在被取消分配和/或您的视图层次结构。尝试打破你的deallocs并看看它们何时发生是有意义的。