Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 单击“上一步”按钮时再次调用searchBarTextDidBeginEditing委托方法_Ios_Objective C_Uitableview_Uisearchbar - Fatal编程技术网

Ios 单击“上一步”按钮时再次调用searchBarTextDidBeginEditing委托方法

Ios 单击“上一步”按钮时再次调用searchBarTextDidBeginEditing委托方法,ios,objective-c,uitableview,uisearchbar,Ios,Objective C,Uitableview,Uisearchbar,我正在开发一款iPhone应用程序,在其中我一度陷入困境 我有一个隐藏了导航栏的viewController,搜索栏位于页面中央 当用户单击searchBarsearchBarTextDidBeginEditing时,方法被触发 在搜索栏textdichange方法的文本更改之后,我将在tableview中加载实时数据,单击tableview,我将导航到其他页面,导航栏不隐藏 现在,当我再次按下后退按钮时,我来到这里的搜索页面searchBarTextDidBeginEditing方法再次被触发

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

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

当用户单击searchBar
searchBarTextDidBeginEditing
时,方法被触发

在搜索栏
textdichange
方法的文本更改之后,我将在tableview中加载实时数据,单击tableview,我将导航到其他页面,导航栏不隐藏

现在,当我再次按下后退按钮时,我来到这里的搜索页面
searchBarTextDidBeginEditing
方法再次被触发

为什么这个方法在背压时再次被调用


请提前帮助和感谢。

由于搜索显示控制器仍处于活动模式,您的
SearcBartextDiBeginediting
被调用

在TableView委托方法中

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    [self.view endEditing:YES];
    [self.searchDisplayController.searchBar resignFirstResponder];


   // Set Navigation
}
在同一类中,“视图”将显示为“已设置”

-(void)viewWillAppear:(BOOL)animated{

    self.searchDisplayController.Active = NO;

}

希望这对你有帮助

由于搜索显示控制器仍处于活动模式,因此调用了您的
SearcBartextDiBeginediting

在TableView委托方法中

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    [self.view endEditing:YES];
    [self.searchDisplayController.searchBar resignFirstResponder];


   // Set Navigation
}
在同一类中,“视图”将显示为“已设置”

-(void)viewWillAppear:(BOOL)animated{

    self.searchDisplayController.Active = NO;

}

希望这对你有帮助

我认为当你导航时,UITextField会将焦点放在自己身上


当您单击tableView进行导航时,请尝试
[textField resignFirstResponder]

我认为,当您进行导航时,UITextField将焦点保持在自身上


当您单击tableView进行导航时,请尝试
[textField resignFirstResponder]

如果它对您有帮助,则您可以将其视为正确的,以供他人参考。如果它对您有帮助,则您可以将其视为正确的,以供他人参考。