我有以下问题:我有一个UITableView。如果你点击一个单元格,就会在单元格上添加一个按钮。没问题到现在......但是:添加按钮后我想要TableView(在重新加载之后)选择刚编辑过的(或添加的)TableCell。
我在cellForRowAtIndexPath
方法
if (bool) {
[cell setSelected:YES animated:YES];
}
UIView *bgColorView = [[UIView alloc] init];
[bgColorView setBackgroundColor:[UIColor colorWithRed:34/255.0 green:139/255.0 blue:34/255.0 alpha:1.0]];
[cell setSelectedBackgroundView:bgColorView];
[bgColorView release];
return cell;
但它没有用。 任何建议或示例代码将不胜感激。谢谢。
答案 0 :(得分:1)
你为什么使用
[tableView reloadData];
您可以使用以下命令访问所选的单元格属性和控件,而无需重新加载数据:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
以下是一些可以帮助您的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
CustomTableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell.myButton setHidden:false];
}
答案 1 :(得分:1)
对于标准选择,您使用以下方法,在UITableView reference docs中描述
- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition
如果您使用存储选择计数信息的自定义单元格,那么您的设计可能会得到改进,这比重新加载表格和在单元格外部添加大量单元格逻辑要好得多。