我拖动搜索栏并将控制器显示到视图控制器并将其放在轮廓的底部。
然后我将其设置为在导航栏中显示,并在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;
}
但是,虽然我可以从日志中看到该方法被调用,但它并没有取消隐藏搜索栏。也许这是代表问题,但仍在寻找解决方案。
答案 0 :(得分:1)
这样做
searchBar.hidden = true
答案 1 :(得分:0)
=>试试吧。
self.definesPresentationContext = true
OR -------------
searchController.hidesNavigationBarDuringPresentation = false
=>更多如果您想知道以下给出的Refrence可能有用: -