我正在尝试为消息传递应用程序构建UICollectionView
,其中UICollectionViewCell
中的每个UICollectionView
都对应一条消息。我正在使用MessageKit(扩展了UICollectionView
)来处理消息。当用户点击一条消息时,我想显示有关该消息的信息(发送时间,用户对该消息的反应等)。
GroupMe通过以下方式非常优雅地做到这一点:(1)垂直扩展消息以显示信息,(2)将视图中的其余消息调暗并禁止用户交互。请注意,突出显示的cell
仍启用交互功能。请参见下面的前后图像。
在这里,我专注于实现(2),即,在轻按一条消息时,我想使所有其他cells
变暗,并禁止它们的用户交互。我还希望能够对此更改进行动画处理,以使其在短时间内使所有其他cells
变暗。当用户点击视图中的任意位置时,我希望突出显示的cell
“取消突出显示”,并为所有单元格重新启用用户交互,并类似地为还原设置动画。
我对如何实现此行为有些困惑-关于如何在Swift
中实现此想法?任何能使我朝正确方向入手的指针将不胜感激!
答案 0 :(得分:0)
您可以为每个单元格的子视图添加一个UIView,但所选子视图除外。可以通过更改具有衰落/出现效果的alpha值来对此视图进行动画处理。
答案 1 :(得分:0)
您可以在自定义override
中使用isSelected
UICollectionViewCell
属性来处理用户交互和alpha
的{{1}}选择,即
cell