UITableViewCell没有显示子视图UITextView

时间:2013-06-20 20:47:00

标签: ios uitableview uitextview

我已经在Stack Overflow和其他网站上仔细研究过几十个问题/答案,但我似乎无法让它发挥作用。这看起来是一个相当普遍的问题,但我发现的其他问题的答案都没有应用。基本上,我正在尝试将一个简单的UITextView添加到表格单元格中,并且它没有显示出来。这就是我所拥有的:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

    UITextView *textviewFactoid = nil;

    if (cell == nil) {
        cell = [[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleDefault
                reuseIdentifier:@"cell"];

        textviewFactoid = [[UITextView alloc]initWithFrame:CGRectMake(0, -3, 300, 25)];
        [textviewFactoid setFont:[UIFont systemFontOfSize:12.0f]];
        [textviewFactoid setBackgroundColor:[UIColor blueColor]];
        [textviewFactoid setTextColor:[UIColor grayColor]];
        [textviewFactoid setScrollEnabled:NO];
        [textviewFactoid setEditable:NO];
        [textviewFactoid setTag:98];
        [[cell contentView] addSubview:textviewFactoid];
    } else {
        textviewFactoid = (UITextView*)[cell.contentView viewWithTag:98];
    }

    NSString *textviewFactoidText = @"Here is the factoid";
    [textviewFactoid setText:textviewFactoidText];

    return cell;
}

有谁知道细胞为什么会空白?我将backgroundColor设置为蓝色,这样我就可以看到textview是否存在,而且似乎没有。我也没有收到任何错误或警告,以帮助我查明错误。

我几乎逐字地从我写的另一个应用程序中复制了这段代码,并且它在那里工作得很好......我确信这是一件简单的事情,我缺少或者我改变了,但我有点难过

任何人都比我更敏锐吗?

1 个答案:

答案 0 :(得分:2)

如果您正在为iOS 6构建并为您的小区标识符dequeueReusableCellWithIdentifier注册了一个笔尖或类,则始终会返回一个小区。您的if (cell == nil) {永远不会评估为真,并在该区块内运行代码。