【问题标题】:Unique multiline UILabel looks using auto layout使用自动布局的独特多行 UILabel 外观
【发布时间】:2015-07-16 19:21:32
【问题描述】:

我有一个多行 UILabel,我希望它在不同设备上看起来相似(仅限 iPhone)。如果它是单行,我只需放置自动布局约束并启用 Autoshrink 并设置最小字体比例。

标签的高度是动态的,是根据文字计算的。为此,我需要字体,它也应该是动态的。我可以做的 hack 是放置一个不可见的标签,然后将我想要的文本设置在一行中并计算字体,但这似乎太 hacky。

我不太熟悉的另一件事是尺寸等级。但据我所知,所有肖像共享同一个类,这意味着 3.5、4、4.7 和 5.5 英寸的设备将绑定到同一个类,因此我不能使用单独的字体值?

如何为多行标签实现“字体缩放”,以便在不同的屏幕尺寸上获得相似的外观?

【问题讨论】:

    标签: ios ios8 adaptive-layout


    【解决方案1】:

    如果通过相似的外观你的意思是每行出现相同的单词,我认为这是不可能的。

    如果标签高度是基于文本数量的动态,则标签将简单地扩展到显示具有指定字体大小的文本所需的高度。

    字体缩放仅在没有足够空间来显示具有指定字体大小的文本时才会启动。因此,您必须限制行高或行数。

    我能够使用字体比例为 0.5 的多行 UILabel 来近似此值。我在它和它的父视图之间设置了一个 Equal Heights 约束,乘数为 0.25。请参阅下面的屏幕截图。

    在这种方法中,您必须根据您拥有的文本量动态更改等高乘数。

    【讨论】:

    • 是的,我是这么认为的。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 2014-11-17
    • 1970-01-01
    相关资源
    最近更新 更多