CollectionView doesn't scrolling through UIControl?

33 Views Asked by At

I have buttons inherited from UIControl in the horizontal UICollectionView. I want to add a behavior so that even when we do horizontal scrolling through buttons, my buttons don't catch touching, and first of all scrolling catches UICollectionView

-- UICollectionView
    -- UIControl (button)
    -- UIControl (button)
    -- UIControl (button)

How can this be done?

1

There are 1 best solutions below

0
OneCommentMan On BEST ANSWER

UICollectionView inherits from UIScrollView. So you have access to;

open var isTracking: Bool { get } // returns YES if user has touched. may not yet have started dragging

open var isDragging: Bool { get } // returns YES if user has started scrolling. this may require some time and or distance to move to initiate dragging

open var isDecelerating: Bool { get } // returns YES if user isn't dragging (touch up) but scroll view is still moving

I would use these checks to see if the collection isScrolling, and if so return from all button taps.