ios - 在单击后退按钮时再次调用 searchBarTextDidBeginEditing 委托(delegate)方法

标签 ios objective-c uitableview uisearchbar

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

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

当用户点击 searchBar searchBarTextDidBeginEditing方法被解雇。

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

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

为什么在后按时再次调用此方法?

请提前帮助和感谢。

最佳答案

您的 SearcBarTextDidBeginEditing由于您的搜索显示 Controller 仍处于事件模式而调用,

在您的 TableView 委托(delegate)方法中,

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

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


   // Set Navigation
}

并且在同一个类中,在 View 中会出现 SET,
-(void)viewWillAppear:(BOOL)animated{

    self.searchDisplayController.Active = NO;

}

希望对你有帮助!

关于ios - 在单击后退按钮时再次调用 searchBarTextDidBeginEditing 委托(delegate)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24530084/

相关文章:

ios - UIButton 不听内容模式设置?

objective-c - 从 objective-c 运行 sudo 命令

iphone - 在 didSelectRowAtIndexPath 上显示加载图像

iphone - iOS quartz 2D : draw an image simulating y axis rotation?

iphone - 如何增加iPhone中UITabBarItem的大小?

ios - NSDateFormatter 的自定义月份和星期几名称

ios - UICollectionView 中的单元格顺序

ios - 如何从 TableView Controller 转到详细 Controller 并返回

ios - Swift 4 UITableView 像 Apple Music 搜索

objective-c - 处理 UITabBarController.moreNavigationController 中 "More"UINavigationController 的设备旋转