2017-07-08 60 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)