Home Indicatorの設定をする
2020/08/02
はじめに
よく、アプリを使用していると、ホームバー(Home Indeicator)が消えていたり、二回スワイプしないといけないようなアプリがあります。
そのやり方を今回は紹介します。
表示 / 非表示
表示/非表示 だけであれば非常に簡単です。
ViewControllerのなかで、prefersHomeIndicatorAutoHiddenを設定してあげるだけです。
設定方法が以下のコードです。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func prefersHomeIndicatorAutoHidden() -> Bool {
return true
}
}
また、上記の方法では、画面をタップするとホームバーが表示されてしまうので
合わせてpreferredScreenEdgesDeferringSystemGesturesを設定してあげましょう。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func prefersHomeIndicatorAutoHidden() -> Bool {
return true
}
override var preferredScreenEdgesDeferringSystemGestures: UIRectEdge {
return .bottom
}
}
二回スワイプでホームへ
この場合も、先ほどの二つのインスタンスプロパティを使用して簡単に実現できます。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func prefersHomeIndicatorAutoHidden() -> Bool {
return false
}
override var preferredScreenEdgesDeferringSystemGestures: UIRectEdge {
return .bottom
}
}
これだけで二回スワイプアップすることでホーム画面へ戻れるように設定できました。
おわりに
今回は、HomeIndeicatorの表示・非表示・二回スワイプでホームへ戻る方法を紹介しました。
是非この機能?を使用して、ユーザーがアプリにアクティブな時間を増やしましょう。笑
参考
https://developer.apple.com/documentation/uikit/uiviewcontroller/2887509-setneedsupdateofhomeindicatoraut
https://developer.apple.com/documentation/uikit/uiviewcontroller/2887512-preferredscreenedgesdeferringsys