ios Iphone X 仅在从底部拖动时显示主页指示器

Posted

技术标签:

【中文标题】ios Iphone X 仅在从底部拖动时显示主页指示器【英文标题】:ios Iphone X show home indicator only when dragging from bottom 【发布时间】:2018-08-09 15:04:35 【问题描述】:

我有许多由导航控制器嵌入的视图控制器。

我只想在 all 视图控制器(默认)上隐藏 iphone X 的主页指示器,并且仅在用户从底部向上拖动时显示指示器。

试过这个:

override func prefersHomeIndicatorAutoHidden() -> Bool 
        return true
    

但它仅在 View Controller 出现后才隐藏“Home Indicator”(有延迟)。

【问题讨论】:

它是在每个屏幕上闪烁,还是在应用打开时只闪烁一次。 在每个屏幕上 我认为这是设计使然:它是用户仍然可以滑动(以及从何处滑动)进入主屏幕的视觉指示。 你如何展示每个视图控制器? TabNav 应该调用他们的子视图控制器的属性,所以它可能不应该闪烁。 你能补充更多细节吗?每个视图控制器都通过以下方式呈现:self.navigationController?.pushViewController(aViewController, animated: true) 【参考方案1】:

根据 Apple 在 prefersHomeIndicatorAutoHidden() 上的文档,这可能是不可能的。

讨论 覆盖此方法以表明您对显示 视觉指示器。系统会考虑您的偏好,但 返回true 不保证指标会被隐藏。

(强调)

您也可以尝试在viewDidLoadviewWillAppear 中调用setNeedsUpdateOfHomeIndicatorAutoHidden(),但同样不能保证它会隐藏。

我不知道有任何其他方法可以强制它消失。

【讨论】:

以上是关于ios Iphone X 仅在从底部拖动时显示主页指示器的主要内容,如果未能解决你的问题,请参考以下文章

今日 iOS 小部件仅在调试时显示

Phonertc 演示仅在通话开始时显示空白屏幕

Android仅在状态栏展开时显示通知

仅在 iOS 14、SwiftUI 时显示一些视图

导航栏仅在 iOS 中向上滚动时显示

如何仅在初始启动时显示屏幕