2017-12-14 53 views
3
ストーリーボード

でのUITableViewControllerのために働いていないことは、すべてのビューコントローラであるiPhone Xの一番下のレイアウトとcollpesとしてテーブルビュー上部と下部の余白を設定する安全なエリアのレイアウトガイドを持っていないのUITableViewControllerように思えますストーリーボードの安全域レイアウトガイドで上マージンと下マージンを正しく動作させる。 UITableViewコントローラを除き、この問題の解決にお役立てください。安全エリアのレイアウトガイドが

参考のために、iPhoneXのスクリーンショットを添付しています。そこに文字列「小麦」がボトムセーフエリアの内側にフィットしていないことがあります。

enter image description here

答えて

4

私は(常に画面全体のサイズを取る)ビューコントローラのビューがtableviewあるので、これが起こると考えています。

UIViewControllerを使用し、そのview下の表ビューを追加(および底部安全な領域を尊重するために制約を追加)のいずれか

又は

とテーブルビューコンテンツインセットを設定します。

tableView.contentInset = UIEdgeInsetsMake(0, 0, UIApplication.shared.keyWindow!.safeAreaInsets.bottom, 0.0); 

を使用し、11の下のiOSバージョンをターゲットにする場合は、次のように確認してください。

 var safeAreaBottom: CGFloat = 0.0 
    if #available(iOS 11.0, *) { 
     safeAreaBottom = UIApplication.shared.keyWindow!.safeAreaInsets.bottom 
    } 

    tableView.contentInset = UIEdgeInsetsMake(0, 0, safeAreaBottom, 0.0); 

私はまた、iOSの11でtableviewのこのプロパティ(しかし、説明なし:/):気づいた私はまだそれを試していないが、あなたはそれを試してみることができますinsetsContentViewsToSafeArea

を。おそらく、これはあなたが箱から必要としているものです。

+0

私は 'insetsContentViewsToSafeArea'を試みましたが、役に立たなかったようです。この[記事](https://useyourloaf.com/blog/supporting-iphone-x/)によると、デフォルトでは「true」です。 –

+0

あなたの例として 'tableView.contentInset'を設定すると、魅力があります! –