読者です 読者をやめる 読者になる 読者になる

【swift】対象のビューのAutoLayoutを計算した後のCGSizeを取得する

tableViewCellの高さ計算の時など、コード上で対象のViewのAutoLayoutを計算した後のサイズを取得したい時があります。

そんな時は、systemLayoutSizeFittingSizeを使います。

引数で渡す値に応じて、コンテンツを表示するための最小サイズか、最大サイズのCGSizeを返します。

サイズ計算時にはサブビューを含めたすべての制約が考慮されます。

// コンテンツを表示するための最小サイズを指定する
let minSize = view.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize)

// コンテンツを表示するための最大サイズを指定する
let maxSize = view.systemLayoutSizeFittingSize(UILayoutFittingExpandedSize)