我知道有一个属性searchDisplayController.searchBar.showsScopeBar
,但在我的发现中,即使我们将showsScopeBar
设置为NO,但将其searchDisplayController.searchBar.scopeButtonTitles
属性设置为某个数组,范围栏也会显示标题。将showsScopeBar
设置为YES,将scopeButtonTitles
设置为nil
,则不会显示scopeBar
。
所以,我认为showsScopeBar
属性实际上没用,但显示或隐藏scopeBar
实际上取决于我们是否将数组设置为scopeButtonTitles
属性。
这可能吗?或者我错过了其他的东西。
答案 0 :(得分:1)
确保您的UISearchBar在范围栏出现时有空间扩展。我把UISearchBar放在一个320x44px的固定框架内并且当示波器栏打开时我犯了一个错误,它只是没有空间可见(320x88px)。此外,UISearchBar在表的标题视图中也必须被告知刷新。
[self.tableView beginUpdates];
[self.searchBar setShowsScopeBar:YES];
[self.tableView endUpdates];
答案 1 :(得分:0)
首先,准确一下,showsScopeBar和scopeButtonTitles 是UISearchBar类的属性。
它是这样的:
如果scopeButtonTitles有值,则showsScopeBar == NO
只有在用户单击“搜索”文本框后,范围按钮才会显示。
如果scopeButtonTitles有值,则showsScopeBar ==是
即使在用户单击“搜索”文本框之前,也会显示范围按钮
(非常难看,不要这样)
如果scopeButtonTitles为零 无论showsScopeBar值或用户交互如何,都不会显示范围按钮。
您可以使用Interface Builder来玩它:
单击“搜索栏”控制器,然后转到“属性检查器”选项卡。