1

我不明白为什么我cell.detailTextLabel.text的为空。

static NSString *CellIdentifier = @"Cell";
//UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyId];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    /*[[NSBundle mainBundle] loadNibNamed:@"CellTest2" owner:self options:nil];
    cell = mealPlanCell;*/
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    //self.mealPlanCell = nil;
}

cell.detailTextLabel.text = @"Test";

它会让我设置cell.textLabel.text一个值,而不是细节值。

4

3 回答 3

1

我知道你离开的原因

if(cell == nil){...}

围绕单元格 = [[[UITableViewCell alloc]...

那么单元格将不会重新渲染,因此不会更新样式和/或细节,因此如果您删除 if() 那么这将允许您在来回更改样式时重新渲染表格视图中的每个单元格。这不是一件好事,但如果你考虑一下,因为它会降低表格的“速度”,这可能不会引起注意,但这是一个需要考虑的问题。这不是我个人为解决问题所做的,因为我选择采用不同的方法,但当我尝试时它确实有效。

于 2012-04-13T20:42:15.983 回答
0

我有同样的问题: UITableViewCell initWithStyle:UITableViewCellStyleSubtitle is not working

对于那些搜索并找到这个问题的人......并且和我有同样的问题,你正在使用原型单元格并且在情节提要中没有正确定义样式。

于 2012-05-08T14:10:32.890 回答
0

如果您的 rowHeight 不够高,即使 cell.textLabel.text 可见, cell.detailTextLabel.text 也不会可见。22 的 rowHeight 似乎是默认字体的最小值。

于 2012-05-26T17:10:33.323 回答