TableCell手势在集合视图中时被忽略

时间:2018-09-03 13:11:55

标签: ios swift uitableview uicollectionview

问题和情况说明

您好,我有一个自定义的收藏视图,使每个collectionview单元格都与屏幕大小相同,并使它水平滚动,以便获得分页效果。

在每个collectionview单元中,我都有一个tableview,它也占据了该collectionview单元的整个大小。我正在尝试对表格视图单元格进行尾随和前导滑动操作,但是由于滚动集合视图单元格的滑动手势而被忽略。

有没有办法像将collectionview单元格设置为仅监视屏幕边缘附近的手势然后滚动collectionview一样,否则将平移手势仅发送到tableview?


替代解决方案(暂时解决)

尽管我找到了解决方法,但是我仍然非常想知道我上面想要做的事情是否可行,所以如果您知道,请留下您的答案

因此,在搜索和搜索stackoverflow之后,似乎其他人的问题与我的相同,但似乎无法找到答案。因此,我提出了另一个想法,我想分享一下,因此,如果有人遇到这个问题,他们可以选择。

我的想法是为表格视图添加长按手势调整器,您可以在 swift 4

中实现以下操作
curl -F media=@image.jpg <url>

然后将其添加到您的viewDidLoad()

func setupLongPressGesture() {
    let longPressGesture: UILongPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(self.handleLongPress))
    longPressGesture.minimumPressDuration = 1.0 // 1 second press
    longPressGesture.delegate = self
    dataDisplayTable.addGestureRecognizer(longPressGesture)
}

@objc func handleLongPress(_ gestureRecognizer: UILongPressGestureRecognizer){
    if gestureRecognizer.state == .began {
        let touchPoint = gestureRecognizer.location(in: dataDisplayTable)
        if let indexPath = dataDisplayTable.indexPathForRow(at: touchPoint) {
            // let cell = dataDisplayTable.cellForRow(at: indexPath) - use this to retreive the cell at the above indexPath to do something with it
            // print(cell?.reuseIdentifier) - use this to retreive the cell identifier and do something with it
        }
    }
}

0 个答案:

没有答案