iOS11 layout

作者: 仇志飞 | 来源:发表于2017-09-30 22:56 被阅读24次

top layout

func zf_addTopLayout(ofVC: UIViewController, constant: CGFloat) -> NSLayoutConstraint {
    self.translatesAutoresizingMaskIntoConstraints = false
    
    if #available(iOS 11.0, *) {
      let guide = ofVC.view.safeAreaLayoutGuide
      let layout = self.topAnchor.constraintEqualToSystemSpacingBelow(guide.topAnchor, multiplier: 1)
      layout.isActive = true
      layout.constant = constant
      return layout
    } else {
      let layout = NSLayoutConstraint(item: self, attribute: .top, relatedBy: .equal, toItem: ofVC.topLayoutGuide, attribute: .bottom, multiplier: 1, constant: constant)
      ofVC.view.addConstraint(layout)
      return layout
    }
  }

bottom layout

func zf_addBottomLayout(ofVC: UIViewController, constant: CGFloat) -> NSLayoutConstraint {
    self.translatesAutoresizingMaskIntoConstraints = false
    
    if #available(iOS 11.0, *) {
      let guide = ofVC.view.safeAreaLayoutGuide
      let layout = self.bottomAnchor.constraintEqualToSystemSpacingBelow(guide.bottomAnchor, multiplier: 1)
      layout.isActive = true
      layout.constant = -constant
      return layout
    } else {
      let layout = NSLayoutConstraint(item: self, attribute: .bottom, relatedBy: .equal, toItem: ofVC.bottomLayoutGuide, attribute: .top, multiplier: 1, constant: -constant)
      ofVC.view.addConstraint(layout)
      return layout
    }
  }

相关文章

网友评论

    本文标题:iOS11 layout

    本文链接:https://www.haomeiwen.com/subject/pmznextx.html