我的导航栏中集成了一个 UISearchBar
,代码如下:
// not needed because it's default
navigationItem.hidesSearchBarWhenScrolling = true
self.navigationItem.searchController = searchController
我还添加了一个自定义书签图标,如下所示:
searchController.searchBar.setImage(icon, for: .bookmark, state: .normal)
searchController.searchBar.showsBookmarkButton = true
searchController.searchBar.layoutIfNeeded()
这会在 iOS 11.4 和 12.1.4 中产生这种奇怪的外观
似乎文本字段没有剪辑图标,也没有像占位符和搜索图标那样应用淡入淡出动画。
你们看到我这边有什么错误了吗? 如果没有,有人可以重现吗? 那么这是一个错误,我会提交一个雷达。
最佳答案
好的,我通过这样做解决了这个问题:
searchController.searchBar.allSubviews.forEach { $0.clipsToBounds = true }
使用此扩展获取所有嵌套 subview :
extension UIView {
var allSubviews: [UIView] {
return self.subviews.reduce([UIView]()) { $0 + [$1] + $1.allSubviews }
}
}
但这有点 hacky,因此欢迎其他解决方案 :)
关于ios - UISearchBar 书签图标没有隐藏在滚动条上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55258600/