ios – 应用程序在iPhone 6s的’偷看和弹出’实现中冻结

我已经在我的应用程序中实现了窥视和弹出,它完美地运行.但是在不断尝试7-8次的时候,应用程序冻结在窥视视图上.我唯一的选择是杀死应用程序并重新运行.请让我知道冻结的原因.我在我的项目中使用了以下代码来查看和弹出:
var isPresentedBy3Dtouch: Bool = false
var passedDetails:DetailModel!

func previewingContext(previewingContext: UIViewControllerPreviewing,viewControllerForLocation location: CGPoint) -> UIViewController? {

  guard let indexPath = tableView?.indexPathForRowAtPoint(location)
    else { return nil }

  guard let cell = tableView?.cellForRowAtIndexPath(indexPath)
    else { return nil }

  guard let detailViewController = self.storyboard?.instantiateViewControllerWithIdentifier("Navigation") as? UINavigationController
    else { return nil }

   (detailViewController.topViewController as! DetailViewController).passedDetails = self.customerLists[indexPath.row]
   (detailViewController.topViewController as! DetailViewController).isPresentedBy3Dtouch = true
   detailVC.preferredContentSize = CGSize(width: 0.0,height: 480.0)
    previewingContext.sourceRect = cell.frame
    return detailVC
}

func previewingContext(previewingContext: UIViewControllerPreviewing,commitViewController viewControllerToCommit :UIViewController) {
    showViewController(viewControllerToCommit,sender: self) 
}

解决方法

这是我几个月前在苹果工程师面前提出的一个问题,到目前为止他们没有回答.如果调试视图层次结构,您会注意到UITransitionView图层是最顶层的视图,并且未被删除.这就是导致应用冻结的原因.实际上,应用程序的功能并未冻结 – 它仍然按预期工作,但UI“卡住了”.这是我在Stack Overflow上的原始帖子: Force Touch animation freezes if gently touched

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...