繁体   English   中英

带有图像和标签的自定义UITableViewCell

[英]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 ,在其上放置LabelImageView ,设置约束并将所有内容都连接到相应的* .swift文件的解决方案结束。 完。 我希望从默认的TableViewCell重用ImageView ,但显然不能正常工作(或者我太愚蠢)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM