UITableView.tableHeaderViewにNibから生成されたViewを設定した時に、高さが0になってしまう現象に遭遇しました。
(何度かはまっている)
探してみた
UITableView tableHeaderView auto layout
でググってみても解決策が出てきませんでした。
以下は試してみましたができなかったものです。
- https://qiita.com/AkkeyLab/items/9864c741b9adb633b321
- https://bugsdb.com/_en/debug/094735585326ee5e720638561d7e4ea6
解決方法
- Nib側のautoresizingで上下矢印の
Flexible Height
に印がついているので、外します。(上下矢印が消える) - 中身について上下左右にAutoLayoutで制限をつけます
- UITableView.tableHeaderViewにNibから生成したViewを入れます
- AutoLayoutエラーが起きていないことを確認します
考察
- NibからUITableView.tableHeaderViewに設定すると、AutoLayoutではなくAutoResizingMaskで設定される
- translatesAutoresizingMaskIntoConstraintsの設定と思われる