1

我有一个名为单元格的表格视图allone.h,这些单元格都是带有披露指示器的字幕样式单元格。
字幕文本是动态生成的,因此很可能每个单元格都有不同的字幕文本。

我有一个 if 语句,如果 text = "hello, world",则将附件类型更改为detailDisclosureIndicator. 按下时detailDisclosureIndicator,它会推送一个新控制器,更改字幕文本,然后弹出该视图控制器并返回到allone.h. detailDisclosureIndicator问题是,即使文本 != "hello, world"仍然显示。我尝试更改中的样式viewWillAppear,但我无权访问单元格。

这是我的代码。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//populate cells with stuff

    if([cell.detailTextLabel.text isEqualToString:@"hello, world"]){
       cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    }
}

所以我想我的问题是,一旦我返回并且allone.h单元格的文本不再是“你好,世界”,我该如何更改附件类型?

4

2 回答 2

2

您可以在您的 -[UITableView cellForRowAtIndexPath:] 中执行此操作。就像你的 if 语句的“else”一样。

要重新加载单元格,您只需调用 reloadData 或 reloadRowsAtIndexPaths:withRowAnimation:。

于 2013-08-22T04:34:07.570 回答
0

我认为 cell.detailTextLable 等于 nil。所以电池配件不会改变。请仔细检查。你之前配置过单元格吗?

于 2013-08-22T04:40:57.330 回答