【问题标题】:Prevent a UILabel from truncating tail防止 UILabel 截断尾部
【发布时间】:2016-05-09 10:34:05
【问题描述】:

我有两个UILabels:名称描述。约束设置如下:

  • name 具有左侧和顶部约束
  • 描述有一个右和上的约束
  • 它们之间至少有 10 像素的间距限制,以免它们重叠

当我运行程序时,有时 name 会被截断,有时 description 会被截断。

问题是:有没有办法保证在空间不足时总是截断正确的标签?

【问题讨论】:

    标签: ios storyboard uilabel


    【解决方案1】:

    您可以尝试为左侧标签 (lbl1) 设置最小宽度约束,然后将该约束连接到您的 ViewController 中的 IBOutlet。

    然后在加载或 willAppear 或任何其他相关操作时,确定 lbl1 的最小宽度并将其设置为约束常量。

    然后在视图出现之前,它应该将右侧的标签更新为正确的宽度,而不会截断左侧的标签。

    有关确定标签大小的参考,请参阅此答案: https://stackoverflow.com/a/19128912/933887

    【讨论】:

      【解决方案2】:

      你可以使用这个属性来减小字体大小不是iss

      【讨论】:

        【解决方案3】:

        解决此问题的正确方法是更改​​其中一个标签的Content Hugging Priority。默认情况下,此值设置为 251。只需将标签的 Content Hugging Priority 之一更改为 250 或 252,具体取决于您希望如何“拥抱”它。

        code:

        func setContentHuggingPriority(_ priority: UILayoutPriority, 
                                      for axis: NSLayoutConstraint.Axis)
        

        或界面构建器:

        如果您需要有关此主题的更多信息,请查看此帖子:https://medium.com/@abhimuralidharan/ios-content-hugging-and-content-compression-resistance-priorities-476fb5828ef

        【讨论】:

          【解决方案4】:

          如果您可以使用较小的字体,您可以使用UILabel().adjustsFontSizeToFitWidth = true

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-03-04
            • 2016-12-28
            • 1970-01-01
            • 1970-01-01
            • 2011-08-15
            • 2013-12-23
            相关资源
            最近更新 更多