【问题标题】:3D Touch Peek turns the screen white3D Touch Peek 让屏幕变白
【发布时间】:2016-10-11 09:49:04
【问题描述】:

我正在尝试将 3D Touch Preview & Commit Segue 添加到我的应用程序中,但由于某种原因,每当我尝试在 iOS 模拟器中窥视时,被窥视的视图控制器后面的区域会变成完全白色,而它意味着模糊。即使我尝试在另一个应用程序中以编程方式实现 3D Touch,也会发生这种情况。

在我使用情节提要的应用程序中,我为 segue 选择了以下选项:

我尝试按照以下步骤在另一个应用程序中以编程方式执行此操作(我在该应用程序中也有相同的错误):

  1. 致电registerForPreviewing(with: self, sourceView: view)viewDidLoad
  2. 如下实现UIViewControllerPreviewingDelegate
    1. previewingContext(_:viewControllerForLocation:) 中,获取正确的indexPath,将上下文的源矩形设置为它,从情节提要中实例化详细导航控制器,然后返回它。
    2. previewingContext(_:commit:) 中,将(viewControllerToCommit as? UINavigationController)?.rootViewController 推送到导航堆栈。

由于我没有启用 3D Touch 的 iOS 设备,我不完全确定此错误是否特定于 iOS 模拟器,但是否需要任何其他步骤才能正确实现 peeking 和 popping?

这是我遇到的错误示例:

【问题讨论】:

  • 你找到解决办法了吗?
  • @user4992124 我在一个设备上测试了它,它在那里工作。 Here's a gif 工作正常。

标签: ios swift ios-simulator uistoryboardsegue 3dtouch


【解决方案1】:

我设法在支持 3D Touch 的 iOS 设备上测试了这些应用程序,我可以确认 Peek and Pop 在这两个应用程序的设备上都能完美运行。因此,我得出结论,这是一个模拟器特有的错误。

【讨论】:

  • 是的,经过一夜的尝试解决此问题,我在早上找到了相同的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多