我正在开发iPhone应用程序,其中我一度陷入困境。
我有一个隐藏了导航栏的viewController,搜索栏位于页面的中心。
当用户点击searchBar searchBarTextDidBeginEditing
方法时会被触发。
此后在searchBar textDidChange
方法的文本更改后,我在tableview中加载实时数据,点击tableview,我导航到导航栏未隐藏的其他页面。
现在当我再次按下按钮时,我来到搜索页面searchBarTextDidBeginEditing
方法再次被解雇。
为什么在背压下再次调用此方法?
请提前帮助和致谢。
答案 0 :(得分:5)
由于您的搜索显示控制器仍然处于活动模式,<{1}}被调用,
在TableView委派方法中,
SearcBarTextDidBeginEditing
在同一类中,视图将出现SET,
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[self.view endEditing:YES];
[self.searchDisplayController.searchBar resignFirstResponder];
// Set Navigation
}
希望这会对你有帮助!
答案 1 :(得分:1)
我认为UITextField在您导航时会将注意力集中在自身上。
单击tableView进行导航时尝试[textField resignFirstResponder]
。