我在网上看到了这个设计图片,我真的很困惑,我怎么能制作一个有多个字幕的UITableCell,并允许我按照图片所示的方式定制它们。
我的理解是每个单元只能使用1个字幕。
有没有办法创建一个看起来像这样的UITable单元?你将如何继续在小区标题下制作这4个字幕?
答案 0 :(得分:1)
您可以通过为UITableViewCell提供自定义布局来轻松完成此操作。该视频可以帮助您完成此操作:
http://www.youtube.com/watch?v=d_kO-J3DYvc
基本上,您需要在storyboard / NIB文件中设计单元格的UI,并在那里为表格单元格添加多个标签。子类UITableViewCell并将其链接到storyboard / NIB中设计的UITableViewCell。在该类中为标签添加IBOulets,并将标签从UI链接到这些IBOutlet。
答案 1 :(得分:1)
从提供的图片看,原型UITableViewCell
包含一个UIImageView
和5个UILabel
s。假设您正在使用IB或故事板来创建表格视图单元格,请将“表格视图样式”设置为“自定义”,而不是将UIImageView
和5 UILabel
拖到原型单元格上。对于每个UILabel
,根据需要调整其位置,字体和字体大小。您可能还需要调整单元格的高度。
答案 2 :(得分:0)
只是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
答案 3 :(得分:0)
嘿我已创建了一个关于自定义单元格的示例项目,请检查我创建的 github link 。我用过故事板。 这是示例应用程序的屏幕截图