我已经在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是否存在,而且似乎没有。我也没有收到任何错误或警告,以帮助我查明错误。
我几乎逐字地从我写的另一个应用程序中复制了这段代码,并且它在那里工作得很好......我确信这是一件简单的事情,我缺少或者我改变了,但我有点难过
任何人都比我更敏锐吗?
答案 0 :(得分:2)
如果您正在为iOS 6构建并为您的小区标识符dequeueReusableCellWithIdentifier
注册了一个笔尖或类,则始终会返回一个小区。您的if (cell == nil) {
永远不会评估为真,并在该区块内运行代码。