【发布时间】:2014-03-03 23:00:20
【问题描述】:
我有一个自定义 UICollectionViewCell,其中包含一些自定义 UIView 对象。这些 UIView 中的每一个都有一个 UIButton,它响应 IBActions 链接的 Touch Down 和 Touch Up Inside。基本上,我希望这些按钮在按下时缩小并在松开时弹回原来的大小。我可以通过控件轻松完成此操作,并且按下和按下即可。但是,我面临的问题是在将滚动引入混合时发生的。这些单元格所在的 UICollectionView 是滚动的。如果我在开始滚动时碰巧触摸了一个按钮,则会触发 Touch Down 事件以及 UICollectionView 的滚动事件。如果我没记错的话,iOS7 之前的情况并非如此。当滚动事件开始时,UIButton 事件没有被触发,我认为它与 delaysContentTouches 有关。这看起来现在被打破或改变了。它实际上仍然可以在 iPhone 上正常运行,只是在 iPad 上不行。如果我在 iPad 上滚动视图,在嵌入式 UIButton 内开始触摸,按钮将缩小,按钮操作将被触发。
所以,我尽可能简单地重申这个问题:在滚动发生时是否有忽略嵌入式 UIButtons 的触摸?当没有触发滚动时,触摸工作正常,如果用户确实在滚动,我只是不希望事件触发。有什么解决办法吗?
如果您需要任何更具体的细节,我很乐意帮助您理解。
【问题讨论】:
-
你解决过这个问题吗?我遇到了完全相同的问题。
标签: ios objective-c cocoa-touch