ios自动布局标签定位

Posted

技术标签:

【中文标题】ios自动布局标签定位【英文标题】:ios auto layout label positionning 【发布时间】:2017-02-12 04:10:48 【问题描述】:

我正在使用自动布局处理情节提要。

我需要一个特定的布局,但我无法找到一种方法来做到这一点。

我有两个 UILabel,第一个是常规的,第二个是粗体的(这就是我使用两个 UILabel 的原因)。

我需要第二个 UILabel 靠近第二个。但是如果第二个标签没有足够的空间来显示,那么我希望它可以换行。

【问题讨论】:

您应该使用带有属性文本的单个文本字段。将行设置为 0 以允许文本字段展开 @jipo64 ***.com/questions/24134905/…。检查此网址 【参考方案1】:

在您的故事板中,将文本字段的属性设置为 lines=0 仅给出以下约束

    顶部领先的尾随到 supverview

    关系大于等于的高度

注意:不要给标签设置底部约束

要使标签的某些部分变为粗体,请使用 NSAtrributeString。不要拿两个标签。

【讨论】:

谢谢!我使用 NSAttributeString 和一个 UILabel。【参考方案2】:

案例一:如果你想在同一行调整字体大小,那么,

    SE CONNECTOR 按钮的垂直间距 超级视图的前导约束 到超级视图的尾随约束

&添加代码调整字体,

yourLabel.numberOfLines = 1;
yourLabel.minimumFontSize = 8;//Keep min font size you wants
yourLabel.adjustsFontSizeToFitWidth = YES;

案例二:如果您不想调整字体大小并在多行中实现,那么,

yourLabel.numberOfLines = 0;
    SE CONNECTOR 按钮的垂直间距 超级视图的前导约束 到超级视图的尾随约束 给予大于等于高度约束(&设置常数为0)

【讨论】:

以上是关于ios自动布局标签定位的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中使用自动布局,如何将标签放置在其包含视图高度的 1/3 处?

如何以编程方式添加标签并以编程方式使用自动布局定位它

iOS - 以编程方式在具有自动布局的 UITextField 内定位 UIImageView

使用自动布局和 SnapKit 进行相对定位

iOS 自动布局:3 列标签布局,中间列具有可变宽度

可变宽度标签列的 iOS 自动布局