代码之家  ›  专栏  ›  技术社区  ›  reza_khalafi

如何在iOS swift 4中更改加载的nibview的位置?

  •  0
  • reza_khalafi  · 技术社区  · 8 年前

    我用自定义框架加载了NIB视图,但只在SuperView顶部显示了该NIB视图。
    我在viewdidload中调用此代码。

    let mb =  Bundle.main.loadNibNamed("MBViewNib", owner: self, options: nil)?.first as! MBView
    mb.frame = CGRect(x: 50, y: 200, width: 100, height: 100)
    view.addSubview(mb)
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   reza_khalafi    8 年前

    我们可以用这样的方法:

    mb =  Bundle.main.loadNibNamed("MBViewNib", owner: self, options: nil)?.first as? MBView
    view.addSubview(mb!)
    mb.translatesAutoresizingMaskIntoConstraints = false
    view.addConstraint(NSLayoutConstraint(item: mb, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute,multiplier: 1, constant: 414))
    view.addConstraint(NSLayoutConstraint(item: mb, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute,multiplier: 1, constant: 64))
    view.addConstraint(NSLayoutConstraint(item: mb, attribute: .left, relatedBy: .equal, toItem: self.bottomLayoutGuide, attribute: .left, multiplier: 1, constant: 0))
    view.addConstraint(NSLayoutConstraint(item: mb, attribute: .right, relatedBy: .equal, toItem: self.bottomLayoutGuide, attribute: .right, multiplier: 1, constant: 0))
    view.addConstraint(NSLayoutConstraint(item: mb, attribute: .bottom, relatedBy: .equal, toItem: self.bottomLayoutGuide, attribute: .bottom, multiplier: 1, constant: 0))
    

    这对我很有用 斯威夫特4 .