iPhone Xをサポートするようにアプリを調整しています。私はカスタムビューコントローラを共有する拡張機能を持っています。デバイスの安全領域のインセットを知っておく必要がありますが、safeAreaInsets
メソッドUIWindow
(UIApplication.shared.keyWindow
)は、UIApplication.shared
が表示されないため共有エクステンションでは利用できません。 共有エクステンションのsafeAreaInsets
プロパティの値を知る方法はありますか?シェアエクステンションのセーフエリアのインセットを検出する
6
A
答えて
1
safeAreaInsets
は、任意のUIViewのプロパティです。それをあなたのShare Extensionで使うことができます。実際には、keyWindowにUINavigationController
またはUITabBarController
が含まれていると、safeAreaInsetsに影響するため、safeAreaInsetsにはUIApplication.shared.keyWindow
を尋ねる必要はありません。
あなたUIView
階層の深いビューを持っている場合は、そのsafeAreaInsets
は、階層内の祖先の景色を見て、そしてそれらのいずれかがあなたの視野と重複safeAreaInsets
を持っている場合は見ることによって計算されます。
あなたはsafeAreaInsets
が最初UIEdgeInsets.zero
していること、しかし、見つけること - 何がやりたいだろうことはそうのように、UIView.safeAreaInsetsDidChange()
またはUIViewController.viewSafeAreaInsetsDidChange()
を実装している:
public override func safeAreaInsetsDidChange() {
if #available(iOS 11.0, *) {
super.safeAreaInsetsDidChange()
self.setNeedsUpdateConstraints() // or self.setNeedsLayout, etc.
}
}
関連する問題
- 1. スクロールでスタックビューを使用し、セーフエリアのインセットを守ります
- 2. swift - UITableViewセクションのインセット
- 3. セーフエリアの下に白いボックスを表示
- 4. のJava SwingのJTextFieldのインセット
- 5. のUIViewControllerステータスバー上のインセット
- 6. データベースへのインセット時のSQLiteConstraintException
- 7. CSS3インセット/インナードロップシャドウインプット?
- 8. iPhone Xとボトムセーフエリアのインセット
- 9. UICollectionView io11 - 上位のインセット
- 10. iOS - テーブルビューセルセパレータの標準インセット
- 11. 異なる国のUIButtonのインセット
- 12. iOS - セーフエリア内のビューをプログラムで作成する方法
- 13. ナビゲーションバーの下にビューを配置するiOS 11セーフエリア
- 14. コンテナにインセットdropShadowを作成する
- 15. リアクションネイティブアプリとシェアエクステンション間でレルムデータベースを共有する方法
- 16. CSS3でボーダー半径をインセット
- 17. アンドロイドのインセットは何ですか?
- 18. キーボードを含めるためにiOS 11セーフエリアを拡張する
- 19. box-shadow:反応ネイティブのためのインセット
- 20. UINavigationControllerでスワイプバックジェスチャを呼び出すために必要なインセットを増やす
- 21. iPhone Xセーフエリアが不透明ツールバーの下に表示される
- 22. "fitsSystemWindows"ウィンドウのインセットをシーントランジションで維持する
- 23. シェアエクステンションのCoreDataにアイテムが記録されていません
- 24. インセット時に画像が伸びる
- 25. セーフエリアの問題 - iPhone Xの上級者、他人ではない
- 26. iphoneの回転を検出するときに検出する
- 27. ブルートゥースヘッドセットのボタンの検出を検出する
- 28. SQLite APIを使用してインセットAPI出力(JSON)をSQLiteに変換
- 29. CSSセーフエリアの属性がiPhone Xで機能しない
- 30. 実際のデバイスでiOSセーフエリアが動作しない