更改细胞附件类型?

时间:2013-08-22 04:12:39

标签: ios objective-c cocoa-touch

我有一个名为allone.h的桌面视图,其中的单元格都是带字幕指示符的字幕样式单元格。
字幕文本是动态生成的,因此很可能每个单元格都有不同的字幕文本。

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

这是我的代码。

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

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

所以我想我的问题是,当我返回allone.h并且单元格的文本不再是“hello,world”时,如何更改附件类型返回

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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