Ios tableview未使用原型单元格
我读过很多关于类似问题的帖子,但似乎没有任何效果,我显然做错了什么。我有一个故事板中的TableViewController(XCode 5)。对于PrototypeCell,我将类型设置为custom,并将标识符设置为“pbvcell”。我添加了一些标签,改变了背景等等。。下面是我设置单元格的tableview委托方法Ios tableview未使用原型单元格,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我读过很多关于类似问题的帖子,但似乎没有任何效果,我显然做错了什么。我有一个故事板中的TableViewController(XCode 5)。对于PrototypeCell,我将类型设置为custom,并将标识符设置为“pbvcell”。我添加了一些标签,改变了背景等等。。下面是我设置单元格的tableview委托方法 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPa
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"pbvcell"];
// Configure the cell...
PBVlead *lead = [self.leads objectAtIndex:indexPath.row];
NSLog(@"Cell class %@", [cell class]);
UILabel *leadNameLabel = (UILabel *)[cell viewWithTag:1];
leadNameLabel.text = lead.leadName;
return cell;
}
现在应用程序启动了,但即使在我将对象添加到tableview数据源数组并重新加载数据之后,单元格还是空白的,就像没有使用自定义单元格一样。看起来这应该很容易,这就是我所需要做的。我到底错过了什么?我在上面的评论中留下了这个,但为了保持整洁,我将把它作为一个答案发布在这里。这很愚蠢,但值得注意的是,为了使视觉变化产生效果,您必须操作原型单元格的contextView,而不是tableview单元格本身
“因为我承认自己的愚蠢,我会告诉大家这里发生了什么。我已经将TableCell背景设置为蓝色,添加了一些UILabels,并将其颜色设置为白色,以在蓝色背景下显示。运行应用程序,无标签。。。。我最终意识到,我没有将内容视图背景设置为蓝色。所以实际上,标签显示在视图层次结构的内容视图中。白色背景上的白色标签等于,不可见…:-)我将内容视图背景设置为蓝色和wola,一切都有!:-)兄弟..?我没有使用故事板,但通常您需要检查从
[tableView dequeueReusableCellWithIdentifier:][/code>返回的对象是否为nil
,如果是,请使用[[subclass alloc]initWithStyle:reuseIdentifier:
@Graham实例化一个新的单元格,如果在情节提要中定义了单元格,则不需要这样做。@Graham:如果在情节提要中将单元格注册为原型单元格,则不需要这样做。如有必要,单元格将自动实例化。请尝试记录leadNameLabel和lead.leadName,以确保两者都不为零。@rdelmar OK,很高兴知道:)