首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >collectionViewCells交互

collectionViewCells交互
EN

Stack Overflow用户
提问于 2018-01-09 19:46:31
回答 2查看 44关注 0票数 1

我有一个集合视图,每个单元格都有一个按钮,我添加了一个IB-action,当按下按钮时会调用它。

我的问题是,当某个按钮被点击时,我不仅希望更改该按钮的背景颜色,还希望更改所有单元格中的所有按钮

我不确定如何实现这一点...

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-09 19:56:06

试着像这样

拿一个var selectedIndex : Int = -1

cellForItemAt

代码语言:javascript
复制
 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

代码语言:javascript
复制
selectedIndex = sender.tag
collectionView.ReloadData()
票数 1
EN

Stack Overflow用户

发布于 2018-01-09 19:53:42

当您按下按钮时,您应该通知您的collectionView类持有者(通过delegate模式或使用closure),现在应该更改所有按钮。然后,您应该强制更改所有可见按钮(采用collectionView的所有visibleCells并更改按钮样式),还应在cellForItemAtIndexPath方法中更改当前不可见的所有其他按钮的样式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48167535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档