隐藏搜索显示控制器的搜索栏
Hide search bar of search display controller
我将搜索栏和显示控制器拖到视图控制器,并将其放在轮廓的底部。
然后我将其设置为显示在导航栏中,并在 viewdidload 中显示以下行。一切正常。
self.searchDisplayController.displaysSearchBarInNavigationBar = true;
但是,我一开始想隐藏它,vewdidload 中的以下行没有任何效果。
self.searchDisplayController.searchBar.hidden = true;
谁能建议怎么做?
提前感谢您的任何建议。
编辑:
我想我已经明白不能同时拥有 searchBar.hidden = true 和 displaysSearchBarInNavigationBar。这对我来说很好,因为我只想要一个或另一个。所以我试着把这两种情况分开。
首先查看加载,我放
self.searchDisplayController.searchBar.hidden = true;
这确实有效。
然后我有一个连接到操作方法的搜索按钮,如下所示:
- (IBAction)searchButtonPressed:(id)sender {
NSLog(@"search button pressed");
self.searchDisplayController.searchBar.hidden = false;
self.searchDisplayController.displaysSearchBarInNavigationBar = true;
self.searchDisplayController.searchBar.showsCancelButton = YES;
}
但是,虽然我可以从日志中看到调用了该方法,但它并没有取消隐藏搜索栏。也许是委托问题,但仍在寻找解决方案。
=> 试一试。
self.definesPresentationContext = 真
或-------------
searchController.hidesNavigationBarDuringPresentation = false
=> 更多如果你想知道下面的参考资料可能会有用:-
这样做
- 从故事板向搜索栏添加出口
- 然后您可以使用插座标识符通过添加以下行来隐藏搜索栏
searchBar.hidden = true
我将搜索栏和显示控制器拖到视图控制器,并将其放在轮廓的底部。
然后我将其设置为显示在导航栏中,并在 viewdidload 中显示以下行。一切正常。
self.searchDisplayController.displaysSearchBarInNavigationBar = true;
但是,我一开始想隐藏它,vewdidload 中的以下行没有任何效果。
self.searchDisplayController.searchBar.hidden = true;
谁能建议怎么做?
提前感谢您的任何建议。
编辑:
我想我已经明白不能同时拥有 searchBar.hidden = true 和 displaysSearchBarInNavigationBar。这对我来说很好,因为我只想要一个或另一个。所以我试着把这两种情况分开。
首先查看加载,我放
self.searchDisplayController.searchBar.hidden = true;
这确实有效。
然后我有一个连接到操作方法的搜索按钮,如下所示:
- (IBAction)searchButtonPressed:(id)sender {
NSLog(@"search button pressed");
self.searchDisplayController.searchBar.hidden = false;
self.searchDisplayController.displaysSearchBarInNavigationBar = true;
self.searchDisplayController.searchBar.showsCancelButton = YES;
}
但是,虽然我可以从日志中看到调用了该方法,但它并没有取消隐藏搜索栏。也许是委托问题,但仍在寻找解决方案。
=> 试一试。
self.definesPresentationContext = 真
或-------------
searchController.hidesNavigationBarDuringPresentation = false
=> 更多如果你想知道下面的参考资料可能会有用:-
这样做
- 从故事板向搜索栏添加出口
- 然后您可以使用插座标识符通过添加以下行来隐藏搜索栏
searchBar.hidden = true