【发布时间】:2023-03-24 16:10:01
【问题描述】:
我现在正在处理 Swift 项目,并坚持如何在代码中更改我的 UIView 的宽度。
在我的故事板中,我有灰色的 UIView。
我在检查器中将其宽度设置为
等于:160
但是,我不想为我的 UI 提供确切的数字,所以我为它设置了 @IBOutlet 并尝试将值设置为 0.2 * 父视图的宽度。但是当我构建时,我看不到宽度的变化......
@IBOutlet weak var parentView: UIView!
@IBOutlet weak var grayArea: UIView!
override func viewDidLoad() {
super.viewDidLoad()
grayArea.frame.size.width = parentView.frame.size.height * 0.2
}
我在 Stack Overflow 上搜索了类似的问题,但没有一个适用于我的代码。谁能指出我在这里做错了什么?
【问题讨论】:
-
您是否在检查器中添加了约束?这可能就是您无法通过代码更改它的原因。但无论如何,您应该使用约束,而不是恒定宽度约束。
-
非常感谢 Sweeper。我使用约束而不是恒定宽度并且工作正常。