gpt4 book ai didi

swift - 以编程方式创建带有约束的 UILabel?

转载 作者:搜寻专家 更新时间:2023-11-01 06:11:24 25 4
gpt4 key购买 nike

我想做的是每次在我的代码中发生特定操作时以编程方式创建一个新的 UILabel。我知道要给标签的 x、y 和高度,但我不想给它设定宽度。我想约束边,使 UILabel 宽度等于屏幕宽度,这样如果方向翻转,标签宽度就会改变。

我考虑过使用:

CGRect(x:, y:, width:, height:)

但是,如果我使用它,我必须给它一个设定的宽度,所以我认为它不会起作用。

我也试过使用:

CGPoint(x:, y:)

然后设置前导、尾随和高度 anchor ,但是,这似乎也不起作用,因为即使它确实编译,我在尝试创建新的 UILabel 时遇到错误。

我是 Swift 编程的新手,所以我不确定是否有明显的解决方法。

最佳答案

正如您所说,我们已经为 label 提供了 x、y 和 height,即

let x: CGFloat = 0
let y: CGFloat = 0
let height: CGFloat = 50

让我们使用上述详细信息创建一个标签。同时根据您的要求将 labelwidth 设置为 UIScreen.main.bounds.width

let label = UILabel(frame: CGRect(x: x, y: y, width: UIScreen.main.bounds.width, height: height))
label.text = "This is a sample text"

不要忘记将 label's translatesAutoresizingMaskIntoConstraints 设置为 false 并将其添加到任何 subview 你想要的。

label.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(label)

添加 label 的相关 constraints 及其 superview - top, bottom, leading, height。如果需要,您绝对可以添加 bottom constraint。这完全取决于您的用户界面。

我正在将 label 添加到 viewController View 的顶部

NSLayoutConstraint.activate([
label.heightAnchor.constraint(equalToConstant: height),
view.topAnchor.constraint(equalTo: label.topAnchor),
view.leadingAnchor.constraint(equalTo: label.leadingAnchor),
view.trailingAnchor.constraint(equalTo: label.trailingAnchor)
])

关于swift - 以编程方式创建带有约束的 UILabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56376494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com