从XIB文件创建的UIView没有显示

时间:2018-08-13 18:48:28

标签: swift xcode storyboard xib

我在我的项目中创建了一个xib文件

enter image description here

我正在使用此代码对其进行初始化

class MainItem: UIView {
    class func instanceFromNib() -> UIView {
        let view = UINib(nibName: "MainItem", bundle: nil).instantiate(withOwner: nil, options: nil).first as! UIView
        return view
    }
}

stackView.addArrangedSubview(MainItem.instanceFromNib())

,然后将其添加到UIStackView中,该视图已经具有UILabelUIScrollView之类的视图。但是我运行应用程序时未显示添加的视图,这是结果 enter image description here enter image description here

出什么问题了?

1 个答案:

答案 0 :(得分:1)

一个可能的原因是您没有指定视图的高度,因此在渲染过程中视图的高度变为0。有两种方法可以做到:

  1. 将stackView的对齐方式设置为.fillEqually。您可以执行此操作,因为标签的固有高度不为0。

    stackView.distribution = .fillEqually

  2. 告诉iOS如何计算视图的高度。例如,覆盖视图的intrinsicContentSize