在使用 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 是行不通的;而且我也没有找到任何可以设置的属性。