请注意,你有时CGPoint在UIViewController中参考系统快到了,只要没有参与滚动工作。当涉及滚动时,您需要通过添加滚动的偏移量来将点转换为可滚动视图中的实际点。
在这个例子中CGPoint从3DTouch进来包含内部
public func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?{
let offsetPoint = self.musicCollectionVw.contentOffset
let realLocation = CGPoint(x: location.x + offsetPoint.x, y: location.y + offsetPoint.y)
if let indexPath = self.musicCollectionVw.indexPathForItem(at: realLocation){
NSLog("Section: \(indexPath.section) Row: \(indexPath.row)")
}
return nil
}
我试图ForItem以及和它告诉我,有没有明显的界面,并在接近一个UICollectionView整体的UIViewController检查我发现我试图在与UIColectionView名称相同的UIView上执行此操作。我是一个白痴,没有注意到,也没有更好地命名......感谢您的支持。 –
这非常有用,谢谢。 – StackRunner