2015-11-24 102 views
4

我从一开始就将setShowsScopeBar设置为TRUE,并且完美地工作。但是,一旦我搜索了一些东西然后取消搜索,范围栏就消失了。iOS - 即使在取消按钮单击后仍保留ScopeBar

How to keep scopebar even after pressed Cancel button?

显然,在早期版本中,用的UISearchBar,

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar 
{ 
    [searchBar setShowsScopeBar:YES]; 
    return YES; 
} 

这个工作。但是对于SearchController而言,情况已经不复存在。

我已经试过这样:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { 
    searchController.searchBar.showsScopeBar = YES; 
    [searchController.searchBar sizeToFit]; 
    isSearching = NO; 
} 

没有运气。

iOS 9上有没有可能的解决方案?

+3

如果您希望它始终可见,请使用“UISegmentedControl”而不是范围栏。 –

+0

@PraveenGowdaIV:发表评论作为答案。 – SwiftArchitect

回答

0

没有直接的方法来保持范围栏始终可见,除非你使用一些黑客。

改为使用UISegmentedControl,它看起来像一个范围栏。然后根据所选段根据 - updateSearchResultsForSearchController:处理搜索结果的过滤。

0

该元素是UISegmentedControlStyleBar样式的UISegmentedControl。您可以设置tintColor属性来获取所需的颜色。只要将视图放在表视图上方,就可以得到类似于该屏幕截图的内容。

相关问题