TopLayoutGuide and BottomLayoutGuide Deprecated in iOS 11

前端 未结 1 453
不思量自难忘°
不思量自难忘° 2020-12-18 09:54

UIViewController\'s topLayoutGuide and bottomLayoutGuide are deprecated in iOS 11. What should be the replacement?

相关标签:
1条回答
  • 2020-12-18 10:25

    Previously in your UIViewController:

    customView.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor).isActive = true
    customView.bottomAnchor.constraint(equalTo: bottomLayoutGuide.topAnchor).isActive = true
    

    Now you should use:

    customView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
    customView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
    

    Note the change from bottomAnchor to topAnchor. This is because the top layout guide was a rectangle at the top of the view controller, so in order to constraint your content to the top, you wanted the bottom anchor of the guide. The new safe are layout guide is a rectangle portion of the view unobscured by bars and other content, so you want the top anchor. And vice-versa for the bottom layout guide.

    0 讨论(0)
提交回复
热议问题