在故事板中将动态文本设置为uilabel

时间:2013-05-28 09:11:19

标签: storyboard uilabel iboutlet

我正在使用Storyboard,因为我有一个自定义表。我需要在单元格内的标签上显示值。我尝试为它创建一个IBOutlet,但它似乎不接受它,它给我一个错误说,“连接”xyz“不能有原型对象作为其目的地”

3 个答案:

答案 0 :(得分:2)

找到解决方案,我动态创建了一个Label并为其设置了值 `if(indexPath.row == 2)     {         static NSString * Identifier1 = @“Cell3”;

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:Identifier1];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:Identifier1];
        cell.textLabel.lineBreakMode=NSLineBreakByCharWrapping;
        cell.textLabel.numberOfLines = 0;
        cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:15.0];

    }

    UILabel *txtDate = [[UILabel alloc] initWithFrame:CGRectMake(13.0f, 26.0f, 294.0f, 30.0f)];
    txtDate.text = stringFromDate;

    [txtDate setUserInteractionEnabled:NO];
    txtDate.font = [UIFont fontWithName:@"Helvetica" size:15.0];
    [cell.contentView addSubview:txtDate];

    return cell;


}`

答案 1 :(得分:1)

在具有动态单元格的表视图中,您无法将表视图控制器中的IBOutlet连接到单元格内的元素,因为该单元格是原型对象。如果将表视图设置为具有静态单元格,则会出现不同的情况。

What's the difference between static cells and dynamic prototypes?

因为您正在使用动态单元格,所以您需要为UITableViewCell创建子类,为单元格子类中的标签创建一个出口,并将其连接到Storyboard中的UILabel。

另一个选择就是使用静态表视图单元格,如果您事先知道行数不会因数字等而改变。

答案 2 :(得分:0)

iOS 10+& Swift 3+,使用此

response