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