2010-10-17 52 views
3

我会再次看起来很傻,但它比疯了! 这是我的问题。 我有一个UISearchBar,它有一个我想隐藏的scopeBar。 我这样做:iPhone:从搜索栏中隐藏示波器栏

searchBar.showsScopeBar = NO; 

,我也呼吁在函数结束时

[searchBar becomeFirstResponder]; 

方法,但它不能正常工作。

有什么想法?

感谢

回答

7

好了,对于那些有同样的问题,躲scopeBar,你实际上需要设置scopeButtonTitles属性为nil:

searchbar.scopeButtonTitles = nil; 

和编程设置它们,当你想展示scopeBar:

searchbar.scopeButtonTitles = [NSArray arrayWithObject:@"Button 1", @"Button 2",...,nil]; 

这是有效的。 showsScopeBar属性必须为true。

searchBar.showsScopeBar = YES; 
+0

在Xcode 6和iOS 8上,这样做(title = nil&showsScopeBar = YES)实际上会导致我的搜索栏完全消失。有什么建议么? – 2015-03-20 18:08:22

2

这样做的另一种方式是通过IB。如果您点击了范围按钮,然后取消选中它,范围标题仍将保留。这意味着当用户进入搜索栏时,它总是会弹出。只需选择2个范围标题并删除它们即可。瞧,它不会再弹出来。