使用UICollectionViewController重新排序的嵌套控制器

时间:2018-07-25 18:46:42

标签: ios swift uicollectionview uigesturerecognizer

我有一个UIViewController,其中嵌套了一个UICollectionViewController。集合视图控制器还实现了moveItemAt方法,因为我希望单元格可以重新排序。因此,单元格附加了UILongPressGestureRecognizer。但是,长按单元格并没有发生。我似乎无法弄清楚嵌套控制器是否导致手势被忽略。也许父控制器正在捕捉长按,但这没有意义,因为AFAIK手势在视图层次结构中占据了上风,而不是相反。

在某些情况下,我使用此方法来嵌套控制器

   func add(_ child: UIViewController) {
        addChildViewController(child)
        child.view.frame = view.bounds
        view.addSubview(child.view)
        child.didMove(toParentViewController: self)
    }

1 个答案:

答案 0 :(得分:0)

我认为这是一种更好的方法...

假设您的情节提要中有一个UICollectionViewController,并且已将单元原型分配给了DragMeCell,并将其标识符设置为“ DragMeCell”(并添加了一个与{{1} }),它将运行并允许您长按拖放以重新排序。

IBOutlet

然后,您可以使用问题中发布的代码段将其添加为子视图控制器。