【问题标题】:How to get UILabel to display "..." at the end of a word rather than truncating it?如何让 UILabel 在单词末尾显示“...”而不是截断它?
【发布时间】:2015-04-14 12:10:24
【问题描述】:

当单词太大时,我想在 UILabel 的末尾显示“...”而不是简单地截断它,如下所示。

例如在条目 n 下方的图像中。 2 (Minecraft) 应在单词 Edition 的末尾显示“...”(如下所示:Edit...),而不是截断单词(如下所示:Editio)。

在图片中你应该可以看到我设置的标签选项。

我尝试修改 换行符 值,但我认为这不是正确的方法。

有什么建议吗?

【问题讨论】:

    标签: ios objective-c interface-builder uilabel truncate


    【解决方案1】:

    将换行模式设置为NSLineBreakByTruncatingTail(您已在NIB中正确设置:换行=截断尾)。

    在自动布局中,确保您的标签永远不会超出单元格。

    我希望您的标签会自动调整大小,这意味着如果文本太长,它就会超出单元格边界。将约束“Trailing Space to superview”添加到值为“大于 N”的标签(例如“> 15”)。使用它,您的标签将永远不会超出 superview 的范围,而是根据您的需要在末尾用“...”切断自身。

    【讨论】:

    • 谢谢。我需要在哪里更改自动布局值?它是否在上图中显示的同一选项卡中? (我看不到)
    【解决方案2】:

    如果您使用自动布局,我认为您需要向您的 UILabel 添加一个宽度约束。如果没有,请尝试减小 UILabel 宽度。

    【讨论】:

      【解决方案3】:

      只需将可以显示的标签宽度减小到编辑...

      在属性检查器中设置以下值

      行数设置为1

      换行符设置为Truncate Trail

      它适用于我的情况

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多