iOS11

iOS11 layout

2017-09-30  本文已影响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
    }
  }
上一篇 下一篇

猜你喜欢

热点阅读