searchBarTextDidBeginEditing在后退按钮单击时再次调用委托方法

时间:2014-07-02 11:35:47

标签: ios objective-c uitableview uisearchbar

我正在开发iPhone应用程序,其中我一度陷入困境。

我有一个隐藏了导航栏的viewController,搜索栏位于页面的中心。

当用户点击searchBar searchBarTextDidBeginEditing方法时会被触发。

此后在searchBar textDidChange方法的文本更改后,我在tableview中加载实时数据,点击tableview,我导航到导航栏未隐藏的其他页面。

现在当我再次按下按钮时,我来到搜索页面searchBarTextDidBeginEditing方法再次被解雇。

为什么在背压下再次调用此方法?

请提前帮助和致谢。

2 个答案:

答案 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]