如何创build具有多个字幕的UITableCell

我在网上看到了这个devise图片,我真的很困惑我怎么能制作一个有多个字幕的UITableCell,并允许我按照图片所示的方式对它们进行定制。

我的理解是,每个单元只能使用1个字幕。

有没有办法创build一个看起来像这样的UITable单元? 你将如何继续在单元格标题下制作这4个字幕?

在这里输入图像说明

您可以通过为UITableViewCell定制布局来轻松完成此操作。 这个video应该可以帮助你做到这一点:

http://www.youtube.com/watch?v=d_kO-J3DYvc

基本上你需要在storyboard / NIB文件中devise单元格的UI,并在表格单元格中添加多个标签。 子类UITableViewCell并将其链接到devise的故事板/ NIB中的UITableViewCell。 在该类中为标签添加IBOulets,并将UI的标签与这些IBOutlet链接起来。

从提供的图像看来,原型UITableViewCell包含一个UIImageView和5个UILabel 。 假设您正在使用IB或故事板来创build表视图单元格,请将“表视图样式”设置为“自定义”,而不是将UIImageView和5个UILabel拖动到原型单元格上。 对于每个UILabel ,根据需要调整它们的位置,字体和字体大小。 您可能还需要调整单元格的高度。

只是子类UITableViewCell,并添加在多个UILabel的。 然后重写layoutSubviews方法来定位这些标签。 然后在cellForRow中,确保你实例化了你的子类UITableViewCell。 我没有时间去检查这个,但是子类看起来像这样:

  @interface CustomCell : UITableViewCell { UILabel *myCustomLabel1; } @end @implementation CustomCell - (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier { if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) { // Initialization code myCustomLabel1 = [[UILabel alloc] initWithFrame:CGRectZero]; [self.contentView addSubview:myCustomLabel1]; } return self; } -(void)layoutSubviews { [super layoutSubviews]; float margin = 5; [myCustomLabel1 setFrame:CGRectMake(self.bounds.origin.x+margin, self.bounds.origin.y, self.bounds.size.width - (2*margin), self.bounds.size.height)]; } @end 

嗨,我已经创build了一个关于自定义单元格的示例项目检查这个我创build的github 链接 。 我用故事板。 这里是示例应用程序的屏幕截图 在这里输入图像说明