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

iOS - Keep ScopeBar even after Cancel Button click

我从一开始就将 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 上是否有任何可能的解决方案?

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

没有直接的方法可以使范围栏始终可见,除非您使用一些技巧。

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