如何将 UILabel 放置在 UIImageView 下方,使其始终均匀放置
Posted
技术标签:
【中文标题】如何将 UILabel 放置在 UIImageView 下方,使其始终均匀放置【英文标题】:How can I place a UILabel below an UIImageView such that it is always evenly placed 【发布时间】:2016-08-29 07:00:25 【问题描述】:我制作了一个看起来像这样的自定义弹出视图
我想将用户名的标签放在用户图像下方,即给定图像中的圆形UIImageView
我希望用户名放置均匀,而与文本大小无关。 就像我希望名字看起来像这样
【问题讨论】:
显示您尝试过的代码。 【参考方案1】:将标签内容居中对齐。
设置从标签到图像视图的约束。水平居中标签到图像视图。
【讨论】:
我正在以编程方式执行此操作,不使用情节提要,我已将标签的中心 x 设置为与用户图像相同但无法确定框架 将标签的宽度设置为等于self.view
和任何你想要的高度。还将标签文本居中居中。因此,x 轴 = 0,将在这里工作。
可以设置label的x坐标为:code
imageview.x - ((label.width - image.width)/2)code
【参考方案2】:
由于您不使用情节提要,下面的代码将帮助您设置标签的框架:-
UILabel *labelName;//This will be your label instance
CGFloat yAxis = 50;//This will be your image view's y axis + image view's height
[labelName setFrame:CGRectMake(0, yAxis, self.view.frame.size.width, self.view.frame.size.height)];
//Set the color/Font other properties of label as desired
[labelName setTextAlignment:NSTextAlignmentCenter];
【讨论】:
【参考方案3】:设置约束是有效的解决方案。
您可以按照Mr.UB建议的情节提要方式或通过代码方式进行处理。如果您希望通过代码进行,我建议您使用Masonry来设置约束。
您可以这样做:
[your-label mas_makeConstraints:^(MASConstraintMaker *make)
make.top.equalTo(imgView.mas_top); //with is an optional semantic filler
make.mas_centerX.equalTo(imgView.mas_centerX);
];
【讨论】:
以上是关于如何将 UILabel 放置在 UIImageView 下方,使其始终均匀放置的主要内容,如果未能解决你的问题,请参考以下文章
如何将 UIButton 与右侧的 UILabel 对齐。喜欢 instagram 的评论
如何更改 UICollectionViewCell 内的 UILabel 的值?
如何以编程方式将 UILabel 和 UiImageView 添加到表视图单元格内的 UIView?