Ios UITableViewCell不显示子视图UITextView

Ios UITableViewCell不显示子视图UITextView,ios,uitableview,uitextview,Ios,Uitableview,Uitextview,我已经在Stack Overflow和其他网站上梳理了几十个关于这个的问题/答案,但我似乎无法让它工作。这看起来是一个相当普遍的问题,但我发现其他问题的答案都不适用。基本上,我正在尝试向表单元格添加一个简单的UITextView,但它没有显示出来。以下是我得到的: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableV

我已经在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是否存在,但它似乎不存在。我也没有收到任何错误或警告来帮助我找出问题所在

我几乎是从我编写的另一个应用程序中一字不差地复制了这段代码,它在那里工作得很好。。。我肯定我错过了一些简单的东西,或者我改变了,但是我有点困惑


任何人都有比我更敏锐的眼睛吗?

如果您正在为iOS 6构建,并且已经为您的单元标识符注册了nib或类
dequeueReusableCellWithIdentifier
将始终返回一个单元。您的
if(cell==nil){
将永远不会计算为true并在该块中运行代码。

是的,在if块中插入一个断点,很可能它不会因为回答中所述的原因而被调用。是的,这最好在界面生成器中使用自定义的
UITableViewCell
类来完成。这很公平。现在我要去学习如何创建自定义单元格类s、 谢谢大家!