这是我最新的iPhone SDK问题。
我有一个UISearchBar,它的代表都已设置完毕。 另外,当我加载视图时,我会调用
self.searchDisplayController.searchBar.showsScopeBar = YES;
这样,当我的视图首次出现时,我会看到范围栏,正如预期的那样。 但是如果触摸搜索栏内部然后触摸它(或者即使执行搜索然后取消它),范围栏也会再次隐藏。
所以我的问题是:是否可以让范围栏始终可见?甚至在进行搜索后?
非常感谢。
答案 0 :(得分:10)
UISearchDisplayController正在隐藏范围栏。
解决这个问题的方法是继承UISearchBar并覆盖setShowsScopeBar的实现:
@interface MySearchBar : UISearchBar {
}
@end
@implementation MySearchBar
- (void) setShowsScopeBar:(BOOL) show
{
[super setShowsScopeBar: YES]; // always show!
}
@end
然后,在Interface Builder中,将视图中的搜索栏(与UISearchDisplayController相关联)的类更改为新类类型 - 在此示例中为MySearchBar。