iOS - 即使在取消按钮单击后仍保留ScopeBar

时间:2015-11-24 10:20:51

标签: ios uisearchbar uisearchcontroller

我从一开始就将setShowsScopeBar设置为TRUE,这非常有效。但是一旦我搜索了某些东西然后取消了我的搜索,范围栏就会消失。

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上是否有任何可能的解决方案?

2 个答案:

答案 0 :(得分:0)

元素是具有UISegmentedControlStyleBar样式的UISegmentedControl。您可以设置tintColor属性以获取所需的颜色。只需将视图放在表格视图上方,您就可以获得看起来像截图的内容。

答案 1 :(得分:0)

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

而是使用看起来像范围栏的UISegmentedControl。然后根据所选的段处理 - updateSearchResultsForSearchController:中搜索结果的过滤。