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

なるようになるかも

力は多くの場合、その人の思いを超えない。

iOS7以降、自動設定される暗黙のcontentInsetsについて

qiitaに書きました。

UIViewControllerautomaticallyAdjustsScrollViewInsetsプロパティが意味するものが分かる人は読まなくてもいい内容です。

iOS - UINavigationControllerと領域拡張に潜む罠 - Qiita [キータ]

端的に言えば、UINavigationControllerを経由させつつ表示したUIViewControllerの、viewプロパティの最初の子要素がUIScrollView系統であるならば、領域拡張を相殺する余白をシステムが自動的に設定します。

iPhoneではデバイスの向きによってUINavigationBarの高さが変わりますので、理解して使えば強力な機能だと思います。

ただ、現時点ではこの仕様について、公式ドキュメント内に明確な説明がないので、個人的には積極的に利用したいとは思わないですが…。

StoryBoardでこの機能が発揮されるのは、UITableViewControllerを用いて、Adjust Scroll View Insetsを有効にしたときだけで、それ以外の場面では常に無効になると考えていたのですが、どうもその認識は正しくないみたい?