Q_XIB子控件的Size始终是600*600或者不准确

Q

xib采用file owner的方式,无论如何修改frame以及增加约束,控件的大小始终存在问题。

A

  1. frame和约束放在viewDidLayoutSubviews

  2. size改成freedom 或者 Trait Variations

    Q_XIB子控件的Size始终是600*600或者不准确_第1张图片
    image.png

  3. 上述方案还是无效果尝试

    let carryView = UIView()
    carryView.frame = XXX
    addSubView(carryView)
    let xibView = Bundle......
    //1
    xibView.frame = carryView.bounds
    carryView.addSubView(xibView)
    //2 或者
    let t = NSLayoutConstraint.init(item: xibView, attribute: NSLayoutConstraint.Attribute.Top......
    let l = NSLayoutConstraint......
    let b = NSLayoutConstraint......
    let r = NSLayoutConstraint......
    carryView.addConstraints([t, l, b, r])
    carryView.setNeedsLayout()
    carryView.layoutIfNeeds()
  1. 换sb吧
  2. 如果还是无解,那就纯代码写吧......

你可能感兴趣的:(Q_XIB子控件的Size始终是600*600或者不准确)