当一个人被选中时,我怎么能轻易地调整互补的行集。
现在我有了选择单元格的代码,所以我可以调用它的方法,但我想设置所有其他行的不透明度。
-(void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
SummaryCell * selectedCell = [tableView cellForRowAtIndexPath:indexPath];
[selectedCell manageContent];
}
编辑:我不想遍历所有其他单元格(因为会有很多单元格) - 在所有其他单元格上面添加UIView会不会更容易(这也会阻止用户交互)和放置该视图上方的选定单元格(类似于在HTML中增加z-index)。
答案 0 :(得分:2)
这取决于“暗淡”其他行的含义。迭代所有可见行并在所选行以外的所有行上设置属性的过程如下: -
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
for (UITableViewCell *otherCell in self.tableView.visibleCells) {
NSIndexPath *otherIndexPath = [self.tableView indexPathForCell:otherCell];
if (![indexPath isEqual:otherIndexPath]) { // exclude the selected cell
// Do whatever you want with otherCell here
}
}
}
我的评论在哪里,您可以在otherCell
上设置您喜欢的任何属性。例如,otherCell.alpha
,即该单元格的alpha(透明度)。
答案 1 :(得分:1)
您可以迭代所有可见单元格,将它们配置为灰色,然后在数据源上使用cellForIndex方法检查是否存在选定单元格(如果有),检查它是否位于询问索引处,如果是,则将单元格配置为选中如果不是暗淡的话。