UIView不显示为子视图

时间:2017-07-08 20:53:21

标签: ios swift

我有一个带有子视图的单元格。

我无法弄清楚为什么UIView boom不可见。这是我的代码:

let separator: UIView = {
    let view = UIView()
    view.backgroundColor = .yellow
    return view
}()

let boom: UIView = {
    let b = UIView()
    b.backgroundColor = .red
    return b
}()

override func setupViews() {
    super.setupViews()

    addSubview(separator)
    addSubview(setNumberView)
    addSubview(boom)

    backgroundColor = .orange

    addConstraintsWithFormat("H:|-20-[v0]", views: boom)
    addConstraintsWithFormat("V:|-20-[v0]", views: boom)

    addConstraintsWithFormat("H:|[v0]|", views: separator)
    addConstraintsWithFormat("V:[v0(10)]|", views: separator)

separator按照预期显示出来。我的xcode中有错误吗?我尝试重新启动xcode,将视图放入框架,并更改单元格大小。

1 个答案:

答案 0 :(得分:1)

您没有为视图设置任何宽度或高度。

要正确设置视图的位置,您必须指定水平位置,垂直位置,宽度和高度。

separator正确指定了所有内容,view缺少widthheight的约束。

解决这个问题的方法可能是:

addConstraintsWithFormat("H:|-20-[v0]-20-|", views: boom)
addConstraintsWithFormat("V:|-20-[v0(100)]", views: boom)