Vla*_*lad 35 uiviewcontroller uikit ios ios11 iphone-x
我有一个视图控制器,从上到下占据整个屏幕.我想在iPhone X设备上隐藏屏幕底部的主页条指示器.
我怎么能在iOS 11中这样做?
Tam*_*gel 47
您应该prefersHomeIndicatorAutoHidden在视图控制器中覆盖以实现:
override var prefersHomeIndicatorAutoHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
abs*_*ths 15
还有另一种选择.如果您正在寻找指示器变暗的行为,那么当用户向上滑动时它会激活,当它们再次向上滑动时,将调用主动作(IE,需要两次滑动才能调用),然后答案就在这里: iPhone X家庭指标行为.它的缺点是覆盖你的UIViewController:
override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge {
return .bottom
}
Run Code Online (Sandbox Code Playgroud)
prefersHomeIndicatorAutoHidden 只隐藏指标,但不会抑制手势.
你会得到你想要的东西(如果我理解你的评论正确 - 你的问题和选定的答案似乎暗示了另一个答案).
如果您window?.rootViewController是UITabBarControlleror UINavigationController,只需继承它并添加以下两个函数,
override var prefersHomeIndicatorAutoHidden: Bool {
return true
}
//@available(iOS 11, *)
override var childViewControllerForHomeIndicatorAutoHidden: UIViewController? {
return nil
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15794 次 |
| 最近记录: |