我想让UITableViewCell
表现得像真正的按钮。
直到知道我一直在使用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath`
技巧,但这不是最佳选择,因为它在点击/拖动/释放时的行为不像button
。
如果您点击一个单元格行并将手指拖过单元格,则在释放手指时不会选中它(但按钮会在相同的情况下启动其操作)。
是否有任何简单的方法可以使UITableViewCell
表现得像真正的按钮,而无需在UIButton
内插入实际的cell
?
答案 0 :(得分:1)
您可以创建包含按钮的表格视图单元格,将按钮标记设置为行,这样您就可以在收到按钮事件时锻炼该按钮所属的行。只需确保在返回重用的表格视图单元格时重置按钮标记,而不是创建新的单元格。
答案 1 :(得分: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是该图像的突出显示版本。
答案 2 :(得分:0)
一种方法是创建一个大小为您的单元格的UIButtton并将其添加到单元格中。
否则您只需向UITapGestureRecognizer
添加UITableViewCell
,即可为您完成工作。