我正在构建一个基本清单应用程序的问题。
在常规点击表格查看单元格时,我使用NewTaskViewController
转到我的prepare(for segue)
:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "AddTask" {
let nav = segue.destination as! UINavigationController
let newTaskVc = nav.topViewController as! NewTaskViewController
newTaskVc.delegate = self
newTaskVc.managedContext = managedContext
我还在我添加到单元格的UILongPressGestureRecognizer
上执行了一个segue。长按应该转换为相同的NewTaskViewController
,但这次将单元格的TaskItem
添加到其taskToEdit
属性
} else if segue.identifier == "EditTask" {
let nav = segue.destination as! UINavigationController
let editTaskVc = nav.topViewController as! NewTaskViewController
editTaskVc.delegate = self
editTaskVc.managedContext = managedContext
editTaskVc.taskToEdit = ?
当我使用UILongPressRecognizer
时,我正在努力弄清楚如何确定长按单元格的索引路径,以便我可以传递正确的项目。
基本上,如何从手势识别器识别表格视图单元格?
提前致谢!
答案 0 :(得分:1)
你可以在你的处理功能中尝试这样的东西吗?
if longPressGestureRecognizer.state == UIGestureRecognizerState.Began {
let touchPoint = longPressGestureRecognizer.locationInView(self.view)
if let indexPath = tableView.indexPathForRowAtPoint(touchPoint) {
// Your Stuff
}
}