UIScrollView, UIWebView等のContent Insetを調整する
全画面にUIScrollView(UIWebView)を配置すると、ステータスバーを表示している場合、下の図のように、ステータスバーの下にコンテンツが重なって表示されてしまう。
このとき、スクロールヴューの余白、スクロールバーの開始位置を以下のように調整する必要がある。この例ではUIWebViewを使用。
// status bar height:20pt分余白をとる let edgeInsets = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0) // 上の余白部分 webView.scrollView.contentInset = edgeInsets // スクロールバーの開始位置をずらす webView.scrollView.scrollIndicatorInsets = edgeInsets
これで、ステータスバーの高さだけずれる。
UINavigationControllerに埋め込んでいるUIViewControllerにUIScrollView等を配置する場合は、Adust Scroll View Insetsにチェックが入っている状態であれば、自動的に調整される。