iOS - 即使在单击取消按钮后仍保留 ScopeBar
Posted
技术标签:
【中文标题】iOS - 即使在单击取消按钮后仍保留 ScopeBar【英文标题】:iOS - Keep ScopeBar even after Cancel Button click 【发布时间】:2015-11-24 10:20:51 【问题描述】:我从一开始就将 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 上是否有任何可能的解决方案?
【问题讨论】:
如果您希望范围栏始终可见,请使用UISegmentedControl
而不是范围栏。
@PraveenGowdaIV:发布此评论作为答案。
【参考方案1】:
除非您使用一些技巧,否则没有直接的方法可以保持范围栏始终可见。
改为使用UISegmentedControl
,它看起来像一个范围栏。然后根据选择的segment处理
- updateSearchResultsForSearchController:
中搜索结果的过滤。
【讨论】:
有谁知道这是否仍然是这种情况,或者现在有没有办法让范围栏在 iOS 11/Swift 4 中保持可见?【参考方案2】:该元素是具有 UISegmentedControlStyleBar 样式的 UISegmentedControl。您可以设置 tintColor 属性来获得所需的颜色。只需将视图放在表格视图上方,您就可以得到类似截图的内容。
【讨论】:
以上是关于iOS - 即使在单击取消按钮后仍保留 ScopeBar的主要内容,如果未能解决你的问题,请参考以下文章
Unity UI Button 具有疯狂的过渡状态行为 - 单击后仍保持突出显示
如何在按钮单击时重置 reactstrap 中选择和输入组件的值?