iOS 11中已废弃TopLayoutGuide和BottomLayoutGuide。

4

UIViewControllertopLayoutGuidebottomLayoutGuide在iOS 11中已被弃用。应该使用什么替代品?

1个回答

14

之前在你的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。这是因为顶部布局指南是视图控制器顶部的矩形,因此为了将您的内容限制在顶部,您希望使用指南的底部锚点。新的安全布局指南是未被栏和其他内容遮挡的视图的矩形部分,因此您需要顶部锚点。底部布局指南亦然。


4
我似乎无法使用视觉布局格式语言完成这个。你有相应的例子吗?我得到了“-[NSLayoutYAxisAnchor nsli_superitem]: unrecognized selector”的错误。 - yuf
view.safeAreaLayoutGuide.topAnchor 中的 view 是什么意思?它是指 customView 吗? - chudin26

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接