我已经将UISearchController嵌入到导航栏中,我的视图控制器具有表视图。当我点击搜索栏和键盘出现tableview和搜索栏不顺利动画。似乎searchbar和navigationbar重叠了。
下面是代码,
将searchcontroller声明为一个变量,如
var resultSearchController = UISearchController()
字符串
viewDidLoad中的定义就像
self.resultSearchController = ({
let controller = UISearchController(searchResultsController: nil)
controller.searchResultsUpdater = self
controller.obscuresBackgroundDuringPresentation = false;
self.navigationItem.searchController = controller
return controller
})()
型
动画问题是像下面的gif(观看直到结束看到缓慢的动画)
的数据
我想为表视图,导航栏和搜索栏动画相同的持续时间。
任何帮助将不胜感激。
3条答案
按热度按时间czfnxgou1#
不要将
UITableView
顶部锚点设置为固定到safeArea
,而是固定到superview
。dxxyhpgq2#
接受答案的重要附加说明:如果您将
UIViewController
与子视图(包括UITableView
)一起使用,则UITableView
必须是第一个子视图(即:在索引0处)。k3bvogb13#
在我的例子中,在故事板中为
UIViewController
复选框禁用**Use Safe Area Layout Guides
修复了这个问题。💀关闭后请确认:
Top Layout Guide
的bottom -必须被约束到viewController中最上面的子视图。Bottom Layout Guide
' top -必须约束到viewController中最底部的子视图。P.S.这也修复了
scopeBar
动画问题。我用这篇文章的材料弄明白了这一点。MasterViewController是Main. storyboard。如果你感到困惑,你可以自己检查一下。https://www.kodeco.com/4363809-uisearchcontroller-tutorial-getting-started
x1c 0d1x的数据