我有一个集合视图,每个单元格都有一个按钮,我添加了一个IB-action,当按下按钮时会调用它。
我的问题是,当某个按钮被点击时,我不仅希望更改该按钮的背景颜色,还希望更改所有单元格中的所有按钮
我不确定如何实现这一点...
谢谢。
发布于 2018-01-09 19:56:06
试着像这样
拿一个var selectedIndex : Int = -1
在cellForItemAt中
cell.button.tag = indexpath.item
if selectedIndex == indexPath.item{
cell.button.backgroundColor = UIColor.blue // New Color
}
else{
cell.button.backgroundColor = UIColor.gray // Deafult color
}在Button Action中
selectedIndex = sender.tag
collectionView.ReloadData()发布于 2018-01-09 19:53:42
当您按下按钮时,您应该通知您的collectionView类持有者(通过delegate模式或使用closure),现在应该更改所有按钮。然后,您应该强制更改所有可见按钮(采用collectionView的所有visibleCells并更改按钮样式),还应在cellForItemAtIndexPath方法中更改当前不可见的所有其他按钮的样式。
https://stackoverflow.com/questions/48167535
复制相似问题