首页 > 解决方案 > Swift - UILabel 文本未正确显示

问题描述

我不知道为什么我UILabel的显示不正确,而是 Swift 缩短了它,如下图所示:

在此处输入图像描述

这就是我创建label和两者的方式lines

let oderLabel: UILabel = {
    let v = UILabel()
    v.translatesAutoresizingMaskIntoConstraints = false
    v.font = UIFont(name: "AvenirNext-DemiBold", size: 15)
    v.textColor = .white
    v.textAlignment = .center
    v.text = "ODER"
    return v
}()

let lineLeft: UIImageView = {
    let v = UIImageView()
    v.translatesAutoresizingMaskIntoConstraints = false
    v.image = UIImage(named: "line")
    return v
}()

let lineRight: UIImageView = {
    let v = UIImageView()
    v.translatesAutoresizingMaskIntoConstraints = false
    v.image = UIImage(named: "line")
    return v
}()

我的constraints

    oderLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    oderLabel.bottomAnchor.constraint(equalTo: weiterButton.bottomAnchor, constant: 40).isActive = true
    
    lineLeft.centerYAnchor.constraint(equalTo: oderLabel.centerYAnchor).isActive = true
    lineLeft.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 30).isActive = true
    lineLeft.trailingAnchor.constraint(equalTo: oderLabel.leadingAnchor).isActive = true
    
    lineRight.centerYAnchor.constraint(equalTo: oderLabel.centerYAnchor).isActive = true
    lineRight.leadingAnchor.constraint(equalTo: oderLabel.trailingAnchor).isActive = true
    lineRight.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -30).isActive = true

我想要的只是将label两者居中并在其lines旁边留出一点空间。这应该在所有 iPhone 尺寸上正确显示。我现在在这方面太久了..

这应该是一个 1 分钟的任务,所以我可能有一些误解。如果有人可以在这里帮助我,我将非常感激:)

标签: iosswiftconstraintsuilabel

解决方案


向 oderLabel 添加具有适当大小的宽度锚点可能会奏效。


推荐阅读