我用3D touch在UITableViewl中按下了一个cell,然后提示错误的cell view

I pressed one cell in UITableViewl using 3D touch, then it prompted wrong cell view

在我的测试演示中,我将 UITableView 放入故事板中的 UIViewController 中。当我在我的 iPhone 上测试演示时,我在 tableView 中按下了一个单元格,我在图片

中得到了这个错误

wrong cell view

func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?方法中,我使用

guard let indexPath = tableView.indexPathForRowAtPoint(location), cell = tableView.cellForRowAtIndexPath(indexPath) else { return nil } 获取 UITableView 中按下的单元格。

如果您能给我任何答案,我将不胜感激!

当您注册源视图时,您添加的是视图控制器的视图还是您的表视图?我在集合视图上遇到了类似的问题,但是一旦我注册了实际视图而不是视图控制器的视图,行为就得到了纠正。

换句话说..

这给了我错误的单元格

registerForPreviewingWithDelegate(self, sourceView:self.view)

这更正了行为

registerForPreviewingWithDelegate(self, sourceView:self.tableView)