iOSアプリ開発のメモ置き場

ささたつがiOSアプリ開発で知ったObjective-Cのtipsなどを書いていく所存

layoutSubviews とか setNeedsLayout とか layoutIfNeeded の話

layoutSubviews はビューを addSubview したときやビューの frame を変更したとき(親ビューの layoutSubviews 経由、画面回転時など)に呼ばれる。

大抵意識することなく必要な時に呼ばれるけど、任意のタイミングで呼びたいときには setNeedsLayout を呼ぶこと。layoutSubviews を直接呼ぶのは良くないらしい。

さらに layoutIfNeeded は、layoutSubviews を即座に呼び出してくれるらしい。layoutIfNeeded 呼ばないといつ呼ばれるんだろうか。。

[self.view setNeedsLayout];
[self.view layoutIfNeeded];