0
我正在尝试使用3D Touch,除了下面的功能,一切都很好,当滚动时我无法获得正确的值indexPath
和indexPathForRow(at: location)
。此功能不能说用户是否滚动表格,并且始终将用户在应用中可以看到的第一行设置为第一行。indexPathForRow不会返回正确的值
我的代码:
func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? {
guard let indexPath = workoutTable?.indexPathForRow(at: location) else {return nil }
guard let cell = workoutTable?.cellForRow(at: indexPath) else {return nil }
guard let workoutDetailPeek = storyboard?.instantiateViewController(withIdentifier: "WorkoutDetailPeek") as? WorkoutDetailPeek else {print("else31"); return nil }
workoutDetailPeek.workoutId = "\(Int(workout[(indexPath as NSIndexPath).row].workoutId)!-2)"
workoutDetailPeek.preferredContentSize = CGSize(width: 400.0, height: 267.0)
previewingContext.sourceRect = cell.frame
return workoutDetailPeek
}
我一直通过不同的3D触控实现,但这个功能似乎每个人都工作正常,除了我。