【发布时间】:2018-06-19 22:38:58
【问题描述】:
我有一个集合视图控制器。集合视图的一个单元格包含一个带有 Touch Down 和 Touch Up Inside 的按钮。
严格来说,按钮在视图控制器的视图中,它是集合视图单元格的子视图。
按下按钮时触发 Touch Down,释放按钮时触发 Touch Up Inside。在按钮未被释放之前,按钮是灰色的,并且不会触发 Touch Up Inside。
这正是我需要的行为。
现在,我已经实现了这两种方法来支持重新排序集合视图的单元格:
func collectionView(_ collectionView: UICollectionView, canMoveItemAt indexPath: IndexPath) -> Bool
func collectionView(_ collectionView: UICollectionView, moveItemAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)
如果实现了第二种方法(canMoveItemAt 均返回 true 或 false),则按钮行为发生变化:
只要按下按钮,就会触发 Touch Down 事件,然后立即触发 Touch Up Inside 事件。
按钮在按下时呈灰色,并立即恢复正常状态,就像它被释放时一样
当按钮被释放时,什么都没有发生
我的怀疑是事件从按钮传播到集合视图控制器,但我不知道如何防止它。
谁能帮帮我?
Tks
【问题讨论】:
标签: ios uibutton uicollectionview