UILabel不会在原型单元格中渲染

时间:2014-10-31 16:51:12

标签: ios objective-c uitableview

我有一个包含UITableView的UIViewController。在我的表视图中,我有一个原型单元格,我想在其中放置自定义标签。我无法在单元格中呈现任何自定义标签。数据源和tableview委托已连接并正常运行。对于我的第一次尝试,我将UILabel控件拖到我的原型单元格上。我将其标记设置为1000.这是我填充单元格的代码:

-(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都应该呈现。但是,自定义标签不会出现。我通过更改单元格内容视图的背景颜色来验证原型单元实际上是渲染。在我的故事板中,我设置了原型单元的重用标识符以匹配我的代码。样式设置为“自定义”。我还应该做什么?谢谢!

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我曾经遇到同样的问题而且我已经通过不调用cell.textLabel属性的任何方法来解决它。只是不要以任何方式设置其文本。

尝试并报告回来。

答案 2 :(得分:0)

试试这个:

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