在 Swift 5 中更改 UIView 宽度
Change UIView width in Swift 5
我现在正在处理 Swift 项目,一直在研究如何在代码中更改 UIView 的宽度。
在我的故事板中,我有灰色 UI视图。
我在检查器中将其宽度设置为
equals: 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 上搜索了类似的问题,但其中 none 对我的代码有用。谁能指出我在这里做错了什么?
作为 ,您将无法更改添加了约束的视图框架。相反,如果您希望宽度始终等于父级的 0.2,您应该只使用比例约束。
- 右键单击灰色视图,然后按住
- 拖到父视图,然后松开
- 选择等宽
- 在属性检查器中,select您刚刚添加的约束
- 单击编辑
- 为“乘数”输入
0.2
- 完成!
我现在正在处理 Swift 项目,一直在研究如何在代码中更改 UIView 的宽度。
在我的故事板中,我有灰色 UI视图。
我在检查器中将其宽度设置为
equals: 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 上搜索了类似的问题,但其中 none 对我的代码有用。谁能指出我在这里做错了什么?
作为
- 右键单击灰色视图,然后按住
- 拖到父视图,然后松开
- 选择等宽
- 在属性检查器中,select您刚刚添加的约束
- 单击编辑
- 为“乘数”输入
0.2
- 完成!