UILabel不在原型单元格中渲染

问题描述:

我有一个包含UITableView的UIViewController。在我的表格视图中,我有一个原型单元格,我想放置自定义标签。我无法让我的任何自定义标签在单元格中呈现。数据源和tableview代表连接并正常工作。对于我的第一次尝试,我将一个UILabel控件拖到我的原型单元格上。我的标签设置为1000。这里是我的代码以填充细胞:UILabel不在原型单元格中渲染

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

    UILabel *customLbl = (UILabel*)[cell viewWithTag:1000]; 
    if(indexPath.section == 0){ 
     [cell.textLabel setText:[rData.currentHeightReadings objectForKey:[heightKeys objectAtIndex:indexPath.row]]]; 
     [customLbl setText:@"CFS"]; 
    } else { 
     [cell.textLabel setText:[rData.currentFlowReadings objectForKey:[flowKeys objectAtIndex:indexPath.row]]]; 
     [customLbl setText:@"Ft."]; 
    } 

    return cell; 
} 

每个单元的默认渲染为textLabel,因为它应该。但是,自定义标签不会显示。我验证了原型单元格实际上是通过更改单元格内容视图的背景颜色进行渲染的。在我的故事板中,我设置了原型单元的重用标识符以匹配我的代码。样式设置为“自定义”。我还应该做什么?谢谢!

+0

试试[customLbl setNeedsDisplay] – 2014-10-31 16:56:45

+0

是您'customLb'实际上得到适当的参考元素或者是'nil'? – sha 2014-10-31 17:00:23

+0

该标签显示一个有效的实例并设置为正确的文本。它不会显示在单元格上。 – Pheepster 2014-10-31 17:01:30

验证您的自动布局约束是否正确,以便UILabel真正定位在您期望的位置。

我有同样的问题一次,我已经通过不调用任何方法来解决它cell.textLabel属性。不要以任何方式设置文本。

试一试并回报。

+0

不幸的是,这并没有帮助我的情况。谢谢,虽然... – Pheepster 2014-10-31 16:59:10

试试这个:

UILabel *customLbl = (UILabel*)[cell.contentView viewWithTag:1000];