目标:当用户选择一个单元格时,会向该单元格添加一个按钮。在我的didSelectRowAtIndexPath函数中,我具有以下内容:

UIButton *downloadButton = [[UIButton alloc] init];
downloadButton.titleLabel.text = @"Download";
[downloadButton setFrame:CGRectMake(40, 0, 100, 20)];
[[self.tableView cellForRowAtIndexPath:indexPath].accessoryView addSubview:downloadButton];
[[self.tableView cellForRowAtIndexPath:indexPath].accessoryView setNeedsLayout];

[downloadButton release];

不幸的是,这似乎无能为力。我要重新绘制单元格校正吗?我是否需要以其他方式添加它?

最佳答案

试试下面的代码块,而不是上面提供的代码块:

UIButton *downloadButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[downloadButton setTitle:@"Download" forState:UIControlStateNormal];
[downloadButton setFrame:CGRectMake(0, 0, 100, 35)];
[tableView cellForRowAtIndexPath:indexPath].accessoryView = downloadButton;

这应该显示按钮,但是您仍然需要使用addTarget将某种选择器连接到该按钮。 (我不确定在这种情况下,是否监听accessoryButtonTappedForRowWithIndexPath委托(delegate)是否可以正常工作,请首先尝试该操作,看看它是否在您按下按钮时触发。)

关于ios - 将按钮添加到UITableViewCell的附件 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7388812/

10-12 14:33