2017-07-08 57 views
0

我有一个包含子视图的单元格。UIView不作为子视图出现

我不明白为什么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或者其他东西有bug吗?我已经尝试重新启动xcode,将视图放入框架中,并更改单元格大小。

+1

您是否尝试过寻找与可视化调试器(在这里你的是一个快速教程https://www.raywenderlich.com/98356/view-在xcode-6中调试,如果你以前没有用过)?这可能会使您更容易找到您的视图并查看您的布局有什么问题。 – Losiowaty

+0

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

回答

1

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

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

separator正确指定所有的人,在view缺少约束widthheight

修复,可能是例如方式:

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