iPhone X家庭指示器行为

时间:2018-01-02 04:15:10

标签: ios swift view iphone-x

我试图模仿iPhone X上的家庭指示器的行为,但无法弄清楚如何。在某些应用程序中,主页指示灯变暗,您必须将其滑动以激活正常行为。我在Controller中找到了一个隐藏指示器的选项,但这不是我想要的。例如,在Clash Royale和Clash of Clans中,家庭指示器变暗,然后当您向上滑动时,指示器变亮,如果再次执行,则激活“家”。使用我发现的API隐藏指标实际上只是让它表现得很奇怪。

这是我正在使用的API,但它不像我在其他应用程序中看到的那样工作。启用自动隐藏后,指示灯将消失,直到您滑动并立即调用主页操作。这是不好的,因为目的是防止无意中滑动进入主屏幕:

override func prefersHomeIndicatorAutoHidden() -> Bool {
    return true
}

我喜欢的行为是指示器变暗,然后在向上滑动时激活(变亮)(但不要回家),然后再次向上滑动以触发回家。这种行为在Supercell应用程序中是不变的,但也许它不是内置行为。

为了看到差异,您可以查看其中一个Supercell应用程序(在iPhone X上),并查看仅包含属性集的应用程序。

1 个答案:

答案 0 :(得分:3)

我更多地研究了这个问题,最后在本文中找到了答案:iPhone X: Dealing with Home Indicator

此处强调(我将.top更改为.bottom,因为这是家庭指标所在的位置):

override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge {
  return .top
}

这样做是推迟主动作,直到用户执行一次手势以激活家庭控制,然后第二次调用主页。现在我发现了这个(具有讽刺意味)我可能不会使用它。我可能会在底部留下足够多的空间。我的问题不在于手势,而是指示器覆盖了我的内容(可能需要更新UI,但我现在没有时间)。

希望其他人会觉得这很有用,因为这种行为非常酷但很难发现。