s と同じようUITableViewCellに、Autolayout 制約を使用して独自の高さを提供できるセクション ヘッダーを作成したいと考えました。と を使用estimatedSectionHeaderHeightしsectionHeaderHeight = UITableViewAutomaticDimensionましたUITableView。
セクションヘッダーを完全に隠したい場合を除いて、かなりうまくいくようです。高さの制約を以下に設定するとすぐに0.3、ヘッダーはデフォルトの高さにリセットされます17.67。CGFloat.leastNonZeroMagnitude多くの人が提案したように、私は戻ってみました。ただし、それでもデフォルトの高さにリセットされます。
制約が機能するには、少なくとも 0.5 ピクセルの高さを返す必要があります。
ヘッダー ビューは、スーパービューに対する上、左、右、下の制約と、必要に応じて変更する高さの制約を持つ単純なビューです。
heightForHeaderViewInSectionヘッダービューの高さを決定する際に自動レイアウトを優先したいので、実装していません。
EDIT グループ化された UITableView です。
更新
これまでの私の唯一の解決策は、非表示にする必要があるかどうかに応じて実装heightForHeaderViewInSectionして返すか、非ゼロの場合に自動レイアウトに高さを決定させることです。CGFloat.leastNormalMagnitudeUITableViewAutomaticDimensionheaderView