我有一个UIViewController
,其中嵌套了一个UICollectionViewController
。集合视图控制器还实现了moveItemAt
方法,因为我希望单元格可以重新排序。因此,单元格附加了UILongPressGestureRecognizer
。但是,长按单元格并没有发生。我似乎无法弄清楚嵌套控制器是否导致手势被忽略。也许父控制器正在捕捉长按,但这没有意义,因为AFAIK手势在视图层次结构中占据了上风,而不是相反。
在某些情况下,我使用此方法来嵌套控制器
func add(_ child: UIViewController) {
addChildViewController(child)
child.view.frame = view.bounds
view.addSubview(child.view)
child.didMove(toParentViewController: self)
}
答案 0 :(得分:0)
我认为这是一种更好的方法...
假设您的情节提要中有一个UICollectionViewController
,并且已将单元原型分配给了DragMeCell
,并将其标识符设置为“ DragMeCell”(并添加了一个与{{1} }),它将运行并允许您长按拖放以重新排序。
IBOutlet
然后,您可以使用问题中发布的代码段将其添加为子视图控制器。