重新加载数据后,iOS将所选背景设置为表格行?

时间:2012-11-03 09:58:52

标签: objective-c ios uitableview

我有以下问题:我有一个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;

但它没有用。 任何建议或示例代码将不胜感激。谢谢。

2 个答案:

答案 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

如果您使用存储选择计数信息的自定义单元格,那么您的设计可能会得到改进,这比重新加载表格和在单元格外部添加大量单元格逻辑要好得多。