_shouldShowMenuForCell 中意外的零索引路径

Unexpected nil index path in _shouldShowMenuForCell

有人知道这个问题是怎么回事吗?我的手机因此停止滑动。

[Assert] Unexpected nil index path in _shouldShowMenuForCell:, this should never happen. Cell ; baseClass = UITableViewCell; frame = (0 97.5; 375 130); alpha = 0; hidden = YES; autoresize = W; gestureRecognizers = ; layer = >

求助!!!

我将滑动方法从 gestureRecognizer 更改为 ScrollView,一切正常。

如果您的单元格是由 - 创建的 [[[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil] lastObject];

并使用 addSubview 来显示它。会出现这个问题。

我的解决方案是使用 "addSubview:cell.contentView" 但没有 "addSubview:cell"

即使使用手势识别器创建滑动单元格,我也已经找到了解决方案,在我的情况下,问题 ("Unexpected nil index path in _shouldShowMenuForCell:, this should never happen. ") 的出现是因为这个功能:

override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
        for subview in self.subviews.reversed() {
            if subview.frame.contains(point) {
                return subview
            }
        }

        return super.hitTest(point, with: event)
}

提示:工作解决方案: Capturing touches on a subview outside the frame of its superview using hitTest:withEvent: