コンテキスト動作しない:ポップアップ表示は
を私はテーブルビューが含まれているポップアップビューを持っています。私は、画面の全体の高さよりも小さくなるようにポップアップビューをしたいが、それが持っている行の数でスケーリングしたいと思っている。 (テーブルビューに2行が入っていて、2行に合ってスクロールしない場合、テーブルビューに30行がある場合、画面の高さで最大になり、スクロールが可能になります)。私のUIViewControllerのviewDidLoad
で
私はする必要があります正確にどのように多くの行を知っている:
ビュー階層:
- 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
私の質問 rこのtableViewで表現されており、上記のコンテキストで説明したように、この数にtableViewの縮尺を設定するための追加の制約を追加したいと思います。
私はtableView.height = count * rowHeight @500
を試しましたが、これはビューを更新しません。私はneedsUpdateConstraints
またはneedsUpdateLayout
のようなものを呼び出していないのですかどうかはわからないなど
予想通り、それはのtableViewを更新する必要に応じて、私は上記の制約を追加するが、私は、制約の警告を受け、私はそれがプッシュした場合、これが壊れると考えられる場合私はそれが画面の高さに達した後にドロップするように非必須の制約として追加したい理由ですtableView過去の画面のサイズを超えています。
私はこの希望の結果にどのように到達することができますか?
ありがとうございます!