在UIButton上滚动UICollection时滚动UICollectionView

时间:2016-02-22 17:13:31

标签: ios objective-c uibutton uicollectionview

我有一个水平UICollectionView和两个UIButton的视图(固定在右侧和左侧,屏幕宽度为25%)。

当我开始拖动按钮而不会松开按钮的轻击手势时,我需要滚动collectionView。

我试图覆盖我的按钮的touchesMoved并将触摸和事件发送到我的collectionView但它不起作用。

- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [super touchesMoved:touches withEvent:event];
    if (self.delegate && [self.delegate respondsToSelector:@selector(buttonDidTouchesMoved:withEvent:)]) {
        [self.delegate buttonDidTouchesMoved:touches withEvent:event];
    }
}

我该怎么办?

感谢。

1 个答案:

答案 0 :(得分:1)

子类collectionView和覆盖

- (BOOL)touchesShouldCancelInContentView:(UIView *)view {
if ([view isKindOfClass:UIButton.class]) {
    return YES;
}
return [super touchesShouldCancelInContentView:view];

}

这解决了我的问题而没有松开按钮。