在故事板中连接单元原型的出口

我是故事板的新手,所以我有一些困难…

我已经创build了一个TableViewController,我想定制Cell Prototype。 在单元原型中,我添加了几个标签,我想用我自己的inheritance自UITableViewCell(AreaListCell)的类来定制。 在Storyboard中,对于Cell Prototype,我使用“AreaListCell”configuration了Custom Class,风格是“Custom”。

在故事板中,当我selectCell Prototype然后select助手时,助手将显示实现UITableViewController(AreasTableViewController)的类而不是
我的“AreaListCell”类。

结果是我可以创build出口(使用Ctrl +拖动从单元格原型的标签)到AreasTableViewController类,但不是AreaListCell类! 任何想法如何连接我的AreaListCell类单元格原型?

谢谢你的帮助!

更新:从Xcode 4.6(可能更早),您现在可以通过控制拖动创build网点! – 这必须在接口部分或类扩展中完成(对于新的单元格子类,默认情况下类扩展名不存在。感谢Steve Haley指出了这一点。

拖到辅助编辑器中的代码块时,您不能自动连接和创build出口,但是您可以手动创build出口并连接它们。

在你的单元格子类接口中:

@interface CustomCell : UITableViewCell @property (nonatomic) IBOutlet UILabel* customLabel; @end 

在实现中正常合成。

在故事板中,select单元格并转到连接检查器,您将看到新的出口。 从那里拖动到原型中的相关元素:

在这里输入图像说明

现在可以在cellForRowAtIndexPath:方法中以cell.customLabelforms访问它。

是的,你不能使用Ctrl +拖拽方法连接定制原型单元格内的视图。 而是使用视图的标签属性,然后在构build单元格时,使用标签将标签拉出。

这里:

 //Let's assume you have 3 labels. One for a name, One for a count, One for a detail //In your storyboard give the name label tag=1, count tag=2, and detail tag=3 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { CustomTableViewCell *theCell = [tableView dequeueReusableCellWithIdentifier:@"Prototype Cell"]; UILabel *nameLabel = (UILabel *)[theCell viewWithTag:1]; UILabel *countLabel = (UILabel *)[theCell viewWithTag:2]; UILabel *detailLabel = (UILabel *)[theCell viewWithTag:3]; nameLabel.text = @"name"; countLabel.text = @"count"; detailLabel.text = @"details"; return theCell; } 

您还可以将标签设置为自定义单元格代码中的属性,然后在初始化单元格时使用viewWithTag调用将标签属性分配给您在故事板上创build的标签。

我花了几天的时间才意识到我无法从自定义单元格中按Ctrl +拖动来创build一个IBOutlet。

祝你好运!

编辑:您可以创build自定义单元格内的标签IBOutlets,并创build链接programatticaly,只是不通过CTRL +拖动方法。

编辑2:我完全错了,你可以按Ctrl +拖动。 看到这个问题的第二个答案。 这是棘手的,但它工作得很好。

Swift 3

/ /如果您的图像在服务器上,我们正在使用这个。

//我们从url获取图片

//你可以从你的Xcode设置图像。

  1. 图像的URL在一个数组名称=缩略图,即self.thumbnail [indexPath.row]
  2. 在UITableviewCell上放置一个imageView的单元格
  3. selectUIimageView从故事板中分配一个标签。

     let pictureURL = URL(string: self.thumbnail[indexPath.row])! let pictureData = NSData(contentsOf: pictureURL as URL) let catPicture = UIImage(data: pictureData as! Data) var imageV = UIImageView() imageV = cell?.viewWithTag(1) as! UIImageView imageV.image = catPicture