ios11 - 顶部安全区域约束动画
问题描述
设置
一个简单的视图控制器,在导航项中设置了 UISearchController 以在搜索栏中使用 iOS 11 的搜索功能。
任何顶部的视图都限制在
SafeArea.Top
问题
当呈现搜索控制器时,导航栏会因为它的大小变化而被动画化,但是对顶部区域的约束不会跟随动画。
如果有人知道我能做什么(现在我想我唯一的选择是禁用 以hidesNavigationBarDuringPresentation
完全避免动画)
请参阅下面的示例,其中我激活了慢速动画以便于理解:
解决方案
您可以使用 UIView.animate 为约束更改设置动画。由于您的约束基于视图的安全区域,因此该viewSafeAreaInsetsDidChange
方法可以提醒您约束值的变化:
override func viewSafeAreaInsetsDidChange() {
UIView.animate(withDuration: 1) {
self.view.layoutIfNeeded()
}
}
推荐阅读
- angular - TypeError:无法在 Map.onMove 读取未定义的属性(读取“样式”)
- ethereum - 使用自己部署的工厂和路由器创建煎饼交换,json rpc 错误
- node.js - 将 Nodemailer 与 Dialogflow Fulfillment 0.6.1 一起使用
- python - 如何在 Pandas Dataframe 中对值进行 COUNTIFS 并将结果添加到列中?
- excel - 有没有办法确保用户使用最新的 Excel 宏?
- javascript - DataTables 在页面重新加载后保留按钮内容
- javascript - 为画布制作边界
- flutter - 如何在 Flutter 中从 name 或 lat、long 获取 PlaceID?
- angular - 路线在角度和laravel中被调用两次
- android - 创建片段的新实例时菜单未膨胀