通过TabBar更改视图时,UISearchBar保持活动状态

时间:2016-07-08 14:39:42

标签: ios objective-c uisearchbar uitabbar dismiss

我正在使用 Objective C 处理iOS应用程序。我的ViewController包含一个 UITableViewController ,我在其上设置了一个带有Scope按钮的 SearchBar 。要浏览应用程序,我会在屏幕底部使用 tabBar 找到。

除了" 小细节"以外,一切运作良好。以下是导致不良行为的情况:

1) Touching the tab bar to "select" it. The keyboard and the scope bar appear.
2) Changing tabs using the TabBar
3) Coming back to the ViewController with the SearchBar

当我到达第3步时,显示的视图完全是黑色,但 SearchBar 仍然启用

我尝试在viewWillDisappear中添加许多不同的解决方案,以便在离开我的第一个标签之前解除SearchBar ,但现在没有任何效果。

以下是我在viewWillDisappear中尝试的解决方案:

  • [self searchBarCancelButtonClicked:self.searchController.searchBar];
  • self.searchDisplayController.active = NO;
  • [self.searchController.searchBar resignFirstResponder];

如果您对如何处理该问题有所了解,请告诉我们! 谢谢:))

2 个答案:

答案 0 :(得分:0)

在更改标签之前,您需要调用它:

self.searchController.active = NO;

答案 1 :(得分:0)

使用Swift 4可以解决这个问题:

searchController.isActive = false