iPhone Xにおいて従来のiPhoneとの一番の違いはホームボタンがなくなったことです。
ホームボタンの役割は画面上に常に表示されているホームインディケータが引き継ぎました。
しかし常に表示されているホームインディケータは時として邪魔になることがあります。
ユーティリティ関連のアプリでは常に表示していても問題なさそうですが、フルスクリーンでコンテンツを表示するようなアプリ、例えば画像ビューワー、ゲーム、動画再生なんかではホームインディケータを消したほうが描画されているコンテンツを邪魔せずユーザエクスペリエンスが向上します。
ホームインディケータの隠し方
ホームインディケータを隠すためにはprefersHomeIndicatorAutoHidden()の中でtrueを返す必要があります。
1 2 3 4 5 |
//iPhone XのHome Indicator制御 override func prefersHomeIndicatorAutoHidden() -> Bool { //動的に表示、隠すを変えるためには返す値をUIViewControllerの変数としてどこかに保持しておくと良い return true } |
参考
prefersHomeIndicatorAutoHidden() - UIViewController | Apple Developer Documentation
https://developer.apple.com/documentation/uikit/uiviewcontroller/2887510-prefershomeindicatorautohidden
prefersHomeIndicatorAutoHidden()が実行されるタイミングはsetNeedsUpdateOfHomeIndicatorAutoHidden()を呼べば好きな時にホームインディケータを隠したり表示したりできます。
当然のことながらホームインディケータを隠したままではユーザがホームインディケータの位置がわかりにくくなるため、何らかのタイミングで必ずホームインディケータは表示した方が良いです。ホームインディケータを隠したままでもホームインディケータは下側に存在しており、操作はできます。あくまでも見えなくなっているだけです。