当我在基于页面的导航中从页面呈现模态屏幕时,整个屏幕向上移动并且状态栏不再可见。
这是一个问题的GIF:
我正在使用xCode 6.2版本
这在xCode 6.2 Beta 4中没有发生..
我不确定这是否是模拟器问题,或者这实际上也会在真实设备上发生。
有没有人有同样的问题?有解决方法吗?
我向苹果报告了一个错误(20109240)并且它被标记为(19862945)的副本,并且它仍然是打开的。
提前致谢
答案 0 :(得分:7)
这是最终版本中的一个已知问题,它在两种情况下表现出来:
这已在Apple开发者论坛中讨论过,我所听到的唯一解决方法是我在我的应用中使用的解决方法。遗憾的是,没有简单的代码可以解决问题,因此我将描述这种方法(我认为这种方法很混乱,但可行)。
首先,您需要跟踪界面控制器演示。我有一个框架,但你可能需要自己动手。当子接口控制器的willActivate连续两次调用时(换句话说,没有调用不同的子接口控制器),您可以假设模态在其上面被呈现/解除。
您的演示/父级控制器可以通知所有孩子模态菜单错误已经发生,并且这些子控制器可以使用自己的取消/关闭按钮取消隐藏替换状态栏。通过一些工作,您可以重新创建具有相同行为的标准状态栏的像素完美版本。
最后的转折是检测Watch应用程序暂停的时间,然后恢复。在这种情况下,willActivate也会被调用两次。如果您不处理这种情况,您最终会取消隐藏替换状态栏并同时在屏幕上显示两个。不是很好的场景。
实现这一点非常棘手,但确实有效。我只希望我有一个可以注入的简单代码示例。
更新:我将部分解决方法代码推送到GitHub: https://github.com/mikeswanson/JBInterfaceController