【发布时间】:2018-10-08 22:22:23
【问题描述】:
初始状态:
sb.showsScopeBar 设置为 false
searchBarShouldBeginEditing 使范围按钮在搜索栏被激活时出现:
func searchBarShouldBeginEditing(_ sb: UISearchBar) -> Bool {
sb.setShowsCancelButton(true, animated: true)
sb.scopeButtonTitles = scopeButtonTitles
}
点击取消按钮,正确隐藏范围按钮,我们回到原始状态。
注意这是默认行为,我们的 searchBarCancelButtonClicked 除了在必要时恢复之前的查询文本之外没有做任何事情。
现在是烦人的部分......
如果我放了
sb.setShowsCancelButton(false, animated: true)
在 searchBarShouldEndEditing 或 searchBarTextDidEndEditing 中,取消按钮消失但范围按钮只是缩小:
添加sb.scopeButtonTitles = nil 会使范围按钮消失,但搜索栏不会调整大小:
调用 sb.sizeToFit() 似乎没有任何帮助...使用 sb.showsScopeBar 完全破坏了搜索栏 UI。
【问题讨论】:
-
这个可以附加项目吗?
标签: ios swift uisearchbar ios12