web-dev-qa-db-ja.com

ステータスバーの全体表示が下に移動する-iOS 11

最近、Xcode 9-betaとiOS 11にアップグレードしました。プロジェクトでPlayを実行してプッシュすると、ステータスバーがビューの上に直接表示されるのではなく、すべてのビューがステータスバーによって約20ピクセルプッシュダウンされました。 iOS 10を持っている私のパートナーには、この問題はありません。参考のためにスクリーンショットを添付しました。

誰でもアドバイスを提供できますか?どんな助けでも大歓迎です。事前に感謝します。

乾杯、テオ enter image description here

23
Theo Strauss

迅速な回答

contentInsetAdjustmentBehaviorまたはtableViewオブジェクトのscrollView.neverに設定することもできます。

if #available(iOS 11.0, *) {
    tableView.contentInsetAdjustmentBehavior = .never
}

または

if #available(iOS 11.0, *) {
    scrollView.contentInsetAdjustmentBehavior = .never
}
36
Pavel Vavilov

私は同じ問題に直面していましたが、何時間もの検索の後、最終的に問題を発見しました。

Xcode 9にはセーフエリアという新しい概念があり、デフォルトでは、ストーリーボードはすべてのビューの上部にセーフエリアを追加します。

ViewControllerのルートビューを選択し、サイズインスペクターを選択すると、 image で確認できるように、チェックボックスが表示されます。

チェックを外すと、この上部のパディングは消えます。

17
Arthur Alvarez
if (@available(iOS 11.0, *)) {
        _tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
8
weikel

UITableViewStyle.groupedを使用している場合-tableView.contentInsetAdjustmentBehavior = .neverを追加しても35pxのギャップが残っています。 UITableViewStyleplainに変更してみてください。これは私にとって問題を解決しました。

1
Katafalkas