0
我試圖在tableview
中實現3D touch,該tableview
包含一個可重複使用的單元,其中的collectionview
。問題在於,我無法真正把注意力集中在單元格中正確的收集視圖單元格上。下面是我的代碼:3D Touch UICollectionView insideUITableviewCell
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
guard let indexPath = tableView.indexPathForRow(at: location) else { return nil }
guard let cell = tableView.cellForRow(at: indexPath) as? DiscoveryComponent else { return nil }
let collectionView = cell.collectionView
print("---- CollectionView \(collectionView)----")
let collectionPoint = collectionView.convert(location, from: tableView)
guard let collectionIndexPath = collectionView.indexPathForItem(at: collectionPoint) else { return nil }
guard let collectionViewCell = collectionView.cellForItem(at: collectionIndexPath) as? DiscoveryProductCell else { return nil }
print(collectionIndexPath)
print("Collection Cell \(collectionViewCell.productImageView.frame)")
previewingContext.sourceRect = collectionViewCell.productImageView.frame
return UIViewController()
}
問題是,當我嘗試對tableview
第二排則tableview
以前行的集合視圖的第一個單元的重點是應用3D觸控。我認爲我的做法是錯誤的。
當然最後我還沒有返回適當的控制器,因爲這仍然處於測試階段。