如何在didSelectItemAtIndexPath中设置集合视图中任何单元格的值。因此,我希望将所有其他单元格的边框颜色更改为黑色,并期望用户单击该单元格。
谢谢
答案 0 :(得分:0)
以下代码遍历tableview部分和每个部分的行。它将每行的indexPath与所选单元格的indexPath进行比较,如果它们不匹配,则允许您对单元格执行所需操作。
for (NSInteger i = 0; i < [tableView numberOfSections]; ++i)
{
for (NSInteger j = 0; j < [tableView numberOfRowsInSection:i]; ++j)
{
NSIndexPath *cellIdxPath = [NSIndexPath indexPathForRow:j inSection:i];
// indexPath represents the currently selected row
if (indexPath != cellIdxPath)
{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:cellIdxPath];
// do whatever you need to do to the cell
}
}
}
答案 1 :(得分:0)
您可以通过保留选择和索引的参考
来实现这一目标var isSelected:Bool = false;
var index: Int;
并在didSelectItemAtIndexPath中将isselected属性更改为true并将索引路径行值保留在索引中,然后重新加载集合视图
当您填充单元格时添加条件
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
if(isSelected && indexPath.Row != index )
{
// change the color to the black
}
}