語境:彈出查看與頁眉的TableView頁腳和自動版式不工作
我有一個彈出查看包含的tableview。我希望彈出視圖小於屏幕的整個高度,但希望tableview根據行數進行縮放。 (如果表視圖包含2行,那麼它將適合這2行,並且不會滾動,如果表視圖有30行,它將在屏幕高度最大並允許滾動)。
視圖層次:
- viewContainer (clear background, whole view)
-- viewPopUp (pop up container)
--- labelHeader
--- tableView
--- buttonOK
約束:
viewPopUp.centerY = viewContainer.centerY
viewPopUp.centerX = viewContainer.centerX
viewPopUp.leadingSpaceTo superView = 32 @750
viewPopUp.trailingSpaceTo superView = 32 @750
viewPopUp.width <= 300
viewPopUp.height <= 0.8 * viewContainer.height
labelHeader.topSpaceTo superView = 0
labelHeader.leadingSpaceTo superView = 0
labelHeader.trailingSpaceTo superView = 0
labelHeader.bottomSpaceTo tableView = 0
labelHeader.height = 33
tableView.topSpaceTo labelHeader = 0
tableView.leadingSpaceTo superView = 0
tableView.trailingSpaceTo superView = 0
tableView.bottomSpaceTo buttonOk = 0
tableView.height >= 0
tableView.height = 0 @200
buttonOk.topSpaceTo tableView = 0
buttonOK.leadingSpaceTo superView = 0
buttonOK.trailingSpaceTo superView = 0
buttonOk.bottomSpaceTo superview = 0
buttonOK.height = 35
我的問題:
在我的UIViewController的viewDidLoad
我知道到底有多少行將需要[R在這個tableView中呈現,我想添加一個額外的約束,讓tableView按照上面的描述縮放到這個數字。
我試過tableView.height = count * rowHeight @500
但這並沒有更新視圖。我不知道如果我不打電話像needsUpdateConstraints
或needsUpdateLayout
等
如果我根據需要添加上述約束,然後它會更新tableView預期,但我收到約束警告,我相信如果它推動它會中斷tableView超過了屏幕的大小,這就是爲什麼我想將它作爲一個非必需的約束添加的原因,所以它在達到屏幕高度後會下降。
有沒有人有任何想法,我如何能達到這個理想的結果?
謝謝!