0

我想让UITableViewCell行为像真正的按钮。

直到知道我一直在使用

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath` 

技巧,但这不是最佳选择,因为它的行为不像button点击/拖动/释放。

如果您点击一个单元格行并将手指拖到该单元格上,当您松开手指时它不会被选中(但按钮会在相同情况下启动其操作)。

有没有什么简单的方法可以让 aUITableViewCell表现得像一个真正的按钮,而不需要在UIButton里面插入一个实际的按钮cell

4

3 回答 3

1

您可以创建带有按钮的表格视图单元格,将按钮标签设置为行,以便在收到按钮事件时锻炼按钮所属的行。只需确保在返回重复使用的表格视图单元格而不是创建新单元格时重置按钮标签。

于 2013-03-27T01:33:13.387 回答
0

子类化 UITableViewCell 并使用以下方法:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
  [super setHighlighted:highlighted animated:animated];
  if (highlighted) {
    _backgroundImageView.image = [UIImage imageNamed:@"img_h"];
  }
  else {
    _backgroundImageView.image = [UIImage imageNamed:@"img"];
  }
}

其中 img 是普通图像,而 img_h 是该图像的突出显示版本。

于 2013-03-27T01:23:00.903 回答
0

一种方法是创建一个单元格大小的 UIButton 并将其添加到单元格中。

或者你可以简单地添加一个UITapGestureRecognizer你的UITableViewCell,这将为你完成工作。

于 2013-03-27T07:27:54.640 回答