2

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

4

3 回答 3

2

找到了解决方案,我动态创建了一个标签并为其设置值` 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;


}`
于 2013-05-28T10:11:28.267 回答
1

在具有动态单元格的表格视图中,您不能将表格视图控制器中的 IBOutlet 连接到单元格内的元素,因为单元格是原型对象。如果您将表格视图设置为具有静态单元格,这将是一种不同的情况。

静态单元和动态原型有什么区别?

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

如果您事先知道行在数量等方面不会改变,另一种选择就是使用静态表格视图单元格。

于 2013-05-28T09:37:14.123 回答
0

iOS 10+ & Swift 3+,使用这个

let Identifier1 = "Cell3"

var cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(Identifier1)
        if cell == nil {
            cell = UITableViewCell(style: UITableViewCellStyleDefault, reuseIdentifier: Identifier1)
            cell.textLabel.lineBreakMode = NSLineBreakByCharWrapping
            cell.textLabel.numberOfLines = 0
            cell.textLabel.font = UIFont(name: "Helvetica", size: 15.0)
        }
        var txtDate: UILabel = UILabel(frame: CGRectMake(13.0, 26.0, 294.0, 30.0))
        txtDate.text = stringFromDate
        txtDate.userInteractionEnabled = false
        txtDate.font = UIFont(name: "Helvetica", size: 15.0)
        cell.contentView.addSubview(txtDate)
        return cell
于 2017-03-02T18:16:26.697 回答