两年前没解决的bug终于解决了。。。。
刚出UISearchController的时候,我就遇到需求把searchController放在nav的titleView上。出现了view出现的时候会闪现灰色条的bug,当时赶时间就让产品妥协改到了别的地方
这次又有这需求。。就花心思解决了一下
出现的灰色view是UISearchBarBackground ,于是remove就好了
为什么是remove,而不是设置hidden呢,因为我发现,那个view消失后是真的消失了。并且设置hidden是没有用的。
for views in searchController.searchBar.subviews {
printLog(views)
for view in views.subviews {
printLog(view)
if view.isMember(of: NSClassFromString("UISearchBarBackground")!) {
view.removeFromSuperview()
}
}
}
navigationItem.titleView = searchController.searchBar