【问题标题】:Text padding on UILabel not workingUILabel 上的文本填充不起作用
【发布时间】:2017-11-15 04:00:51
【问题描述】:

这篇文章是为了完成我前一阵子发的一篇题为Text padding on UILabel的帖子,没有答案。

下面的截图显示了这一切。第一个标签,虽然最短的被截断。第二个和第三个在右侧的空间太宽了。我想解决这两个问题。

我做了一个小项目,并提供it on GitHub 来简单说明问题并让其他人有机会轻松仔细查看。

【问题讨论】:

    标签: ios swift3 uilabel uiedgeinsets


    【解决方案1】:

    请像这样更新你的 NSLayoutConstraint

    view.addConstraints([
                    NSLayoutConstraint(item: label,
                                       attribute: .left,
                                       relatedBy: .lessThanOrEqual,
                                       toItem: view,
                                       attribute: .left,
                                       multiplier: 1.0,
                                       constant: sideMargin),
                    NSLayoutConstraint(item: label,
                                       attribute: .right,
                                       relatedBy: .lessThanOrEqual,
                                       toItem: view,
                                       attribute: .right,
                                       multiplier: 1.0,
                                       constant: sideMargin * -2),
                    NSLayoutConstraint(item: label,
                                       attribute: .top,
                                       relatedBy: .equal,
                                       toItem: topView,
                                       attribute: firstLoop ? .top : .bottom,
                                       multiplier: 1.0,
                                       constant: sideMargin),
                    NSLayoutConstraint(item: label,
                                       attribute: .centerX,
                                       relatedBy: .equal,
                                       toItem: view,
                                       attribute: .centerX,
                                       multiplier: 1,
                                       constant: 0)
                    ])
    

    【讨论】:

    • 谢谢,但这些限制并不能反映我想要的。为什么是 .centerX ? (标签的 X 位置很好!)。我的左约束也很好。我只有标签内的文本有问题,而不是视图内标签的位置。
    • @Michel 我不能确切地说为什么 .centerX 但我通过使用 .centerX 约束纠正了您的截断问题,并将左侧约束修改为 .equal 到 .lessThanOrEqual 约束。请参阅我已附上屏幕截图的更新帖子。
    • 好吧,你确实解决了截断问题。但是你抛弃了我想要的约束。所以这并不是我需要的真正解决方案。我想知道为什么我所做的事情并不总是有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    相关资源
    最近更新 更多