Apple Watch:从基于页面的导航呈现模态屏幕后状态栏不可见
Apple Watch: Status bar not visible after presenting a modal screen from page based navigation
当我在基于页面的导航中从一个页面显示模态屏幕时,整个屏幕向上移动并且状态栏不再可见。
这是问题的 gif:
我正在使用 xCode 6.2 版本。
这在 xCode 6.2 Beta 4..
中没有发生
我不确定这是否是模拟器问题,或者这是否会在真实设备上发生。
有没有人有同样的问题?有解决方法吗?
我向 apple (20109240) 报告了一个错误,它被标记为 (19862945) 的副本,并且那个仍然是开放的。
提前致谢
这是最终版本中的一个已知问题,在两种情况下会出现:
- 在现有分页模式控制器上呈现第二个模式控制器(分页或单个)时
- 在分页模式控制器上使用 Force Touch 呈现菜单时
这已在 Apple 开发者论坛中进行了讨论,我听说过的唯一解决方法是我在我的应用程序中使用的解决方法。不幸的是,没有简单的代码可以分享来解决这个问题,所以我将描述这个方法(我认为它很混乱,但可行)。
首先,您需要跟踪界面控制器演示。我有一个框架,但你可能需要自己动手。当子界面控制器连续两次调用其 willActivate 时(换句话说,没有调用不同的子界面控制器),您可以假设模态 presented/dismissed 在其之上。
然后,您的 presenting/parent 控制器可以通知所有子控制器出现模态菜单错误,并且这些子控制器可以使用自己的 Cancel/Close 按钮取消隐藏替换状态栏。通过一些工作,您可以重新创建具有相同行为的标准状态栏的像素完美版本。
最后一个转折点是检测您的 Watch 应用程序何时暂停,然后恢复。在这种情况下, willActivate 也会被调用两次。如果您不处理这种情况,您将最终取消隐藏替换状态栏并同时在屏幕上显示两个。不是很好的场景。
要做到这一点非常棘手,但它确实有效。我只希望我有一个您可以注入的简单代码示例。
更新:我将一些解决方法代码推送到 GitHub: https://github.com/mikeswanson/JBInterfaceController
当我在基于页面的导航中从一个页面显示模态屏幕时,整个屏幕向上移动并且状态栏不再可见。
这是问题的 gif:
我正在使用 xCode 6.2 版本。
这在 xCode 6.2 Beta 4..
中没有发生
我不确定这是否是模拟器问题,或者这是否会在真实设备上发生。
有没有人有同样的问题?有解决方法吗?
我向 apple (20109240) 报告了一个错误,它被标记为 (19862945) 的副本,并且那个仍然是开放的。
提前致谢
这是最终版本中的一个已知问题,在两种情况下会出现:
- 在现有分页模式控制器上呈现第二个模式控制器(分页或单个)时
- 在分页模式控制器上使用 Force Touch 呈现菜单时
这已在 Apple 开发者论坛中进行了讨论,我听说过的唯一解决方法是我在我的应用程序中使用的解决方法。不幸的是,没有简单的代码可以分享来解决这个问题,所以我将描述这个方法(我认为它很混乱,但可行)。
首先,您需要跟踪界面控制器演示。我有一个框架,但你可能需要自己动手。当子界面控制器连续两次调用其 willActivate 时(换句话说,没有调用不同的子界面控制器),您可以假设模态 presented/dismissed 在其之上。
然后,您的 presenting/parent 控制器可以通知所有子控制器出现模态菜单错误,并且这些子控制器可以使用自己的 Cancel/Close 按钮取消隐藏替换状态栏。通过一些工作,您可以重新创建具有相同行为的标准状态栏的像素完美版本。
最后一个转折点是检测您的 Watch 应用程序何时暂停,然后恢复。在这种情况下, willActivate 也会被调用两次。如果您不处理这种情况,您将最终取消隐藏替换状态栏并同时在屏幕上显示两个。不是很好的场景。
要做到这一点非常棘手,但它确实有效。我只希望我有一个您可以注入的简单代码示例。
更新:我将一些解决方法代码推送到 GitHub: https://github.com/mikeswanson/JBInterfaceController