【发布时间】:2018-01-14 01:09:08
【问题描述】:
UIViewController 的 topLayoutGuide 和 bottomLayoutGuide 在 iOS 11 中已弃用。应该替换什么?
【问题讨论】:
标签: autolayout ios11
UIViewController 的 topLayoutGuide 和 bottomLayoutGuide 在 iOS 11 中已弃用。应该替换什么?
【问题讨论】:
标签: autolayout ios11
以前在你的UIViewController:
customView.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor).isActive = true
customView.bottomAnchor.constraint(equalTo: bottomLayoutGuide.topAnchor).isActive = true
现在你应该使用:
customView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
customView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
注意从bottomAnchor 到topAnchor 的变化。这是因为顶部布局指南是视图控制器顶部的一个矩形,因此为了将您的内容限制在顶部,您需要指南的底部锚点。新的安全区布局指南是视图的矩形部分,不会被条和其他内容遮挡,因此您需要顶部锚点。底部布局指南反之亦然。
【讨论】:
view 在view.safeAreaLayoutGuide.topAnchor 中的含义是什么?是customView吗?