在单元格选择上更改UITableView部分的Alpha

时间:2014-11-28 16:54:49

标签: ios objective-c xcode uitableview

使用多个表格视图部分时出现问题。我试图在用户点击它时更改单元格的alpha值。表格视图中的每个部分都有一行。

这是我的代码。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  NSIndexPath *indexPathInSection = [NSIndexPath indexPathForRow:0  inSection:indexPath.section];
  [tableView cellForRowAtIndexPath:indexPathInSection].contentView.alpha = 0.2f;
}

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
  NSIndexPath *indexPathInSection = [NSIndexPath indexPathForRow:0 inSection:indexPath.section];
  [tableView cellForRowAtIndexPath:indexPathInSection].contentView.alpha = 1.0f;
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

   MatchCell *cell = (MatchCell *)[self cellForIdentifier:tableView:@"MatchCell"];
   MatchedUser *user = (MatchedUser *)(self.matches)[indexPath.section];

  [self configureMatchCell:cell :user :tableView];

  NSIndexPath *selection = [NSIndexPath indexPathForRow:0 inSection:indexPath.section];
  if (selection.section == indexPath.section && cell.isSelected){
    cell.contentView.alpha = 0.2f;
  }else{
    cell.contentView.alpha = 1.0f;
  }
  return cell;
}

alpha被应用于被轻敲的单元格,但其他单元格也被更改。这是因为它是根据行号而不是段号和行号来应用的。如何仅在section和row index中指定单元格?

感谢。

0 个答案:

没有答案