[英]Custom UITableViewCell with Image and Label
我有一些使用基本或字幕UITableViewCell
并显示图像/图标的TableView
。 分隔线会自动缩进,并开始显示标签。 到现在为止还挺好。 ( 查看正确的行为 )
现在,我需要几个标签和一个图像。 因此,我创建了一个带有4个标签的自定义TableViewCell
。 没有图像,它们将按预期工作。 但是,当我将图像添加到现有标准ImageView
,将显示该图像,但分隔线会缩进,而自定义标签则不会。 它们覆盖图像。 ( 看到错误的行为 )
我是否还必须创建一个自定义ImageView
以使其正常工作,以及分隔线如何以这种方式缩进,或者是否有其他可能性/最新技术来进行类似的处理?
1.首先,创建所有四个自定义元素(例如标签和图像视图)的出口 ,分别是: lblOne,lblTwo,lblThree,imageView。
2.然后查看Viewdidload并创建一个字典:-
NSDictionary *viewsDictionary = @{@" @"superview":self.view,
@"lblOne":self.lblOne,
@"lblTwo":self.lblTwo,
@"lblThree":self.lblThree,
@"imageView":self.imageView
};
3.现在以编程方式添加自动布局约束:
NSArray *lblOutletCenterConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[superView]-(<=1)-[lblOne]" options:NSLayoutFormatAlignAllCenterX metrics:nil views:viewsDictionary];
[self.view addConstraints:lblOutletCenterConstraint];
NSArray *lblOutletCenterConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[superView]-(<=1)-[lblTwo]" options:NSLayoutFormatAlignAllCenterX metrics:nil views:viewsDictionary];
[self.view addConstraints:lblOutletCenterConstraint];
NSArray *captionTopConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[lblOne]-25-[imageView]" options:0 metrics:nil views:viewsDictionary];
[self.view addConstraints:captionTopConstraint];
NSArray *captionTopConstraint = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[lblTwo]-25-[lblThree]" options:0 metrics:nil views:viewsDictionary];
[self.view addConstraints:captionTopConstraint];
4.或者,您也可以通过情节提要进行此操作。
最后,我以创建一个空的Interface Builder文档,添加TableViewCell
,在其上放置Label
和ImageView
,设置约束并将所有内容都连接到相应的* .swift文件的解决方案结束。 完。 我希望从默认的TableViewCell
重用ImageView
,但显然不能正常工作(或者我太愚蠢)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.