0

在使用 StoryBoard 时,我遇到了这种情况,代码如下:

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
//        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    cell.textLabel.text=[[cityArray objectAtIndex:indexPath.row] valueForKey:@"CELL_TEXT"];
    cell.detailTextLabel.text=[[cityArray objectAtIndex:indexPath.row] valueForKey:@"DETAIL_TEXT"];

我的测试表明,无论我在执行分配时使用 UITableViewCellStyleDefault 或 UITableViewCellStyleSubtitle,上面的最后两行代码都可以工作。

最后两行仅取决于我在 StoryBoard 中的设置(单元格样式是否为字幕)。

现在这是我的问题:如何以编程方式控制单元格的样式,从 UITableViewCellStyleDefault 到 UITableViewCellStyleSubtitle ,反之亦然?

显然,只改变 alloc 是行不通的;而且我也没有找到任何可以设置的属性。

4

1 回答 1

0

如果您使用带有原型单元格的情节提要,则该单元格将不会为零。它会一直被创建。要么不要在 Storyboard 中使用原型单元,要么从 Storyboard 分配不同的原型单元。

于 2012-10-17T20:10:56.763 回答