ios - 在 Swift 5 中更改 UIView 宽度
问题描述
我现在正在开发 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 所说,您将无法更改添加了约束的视图框架。相反,如果您希望宽度始终等于父项的 0.2,您应该只使用比例约束。
- 右键单击灰色视图,然后按住
- 拖动到父视图,然后释放
- 选择Equal Widths
- 在属性检查器中,选择您刚刚添加的约束
- 点击Edit
- 输入
0.2
“乘数” - 完毕!
推荐阅读
- c# - 如何从统一的模型列表中实现下一个按钮和上一个按钮?
- javascript - 使用 event.target.getAttribute() 时
- git - 我正在尝试安装 Go lang 包,但它给出了这样的错误 ::error: The following untracked working tree files will be overwritten by merge
- woocommerce - WooCommerce-订单详细信息感谢页面为每个产品添加随机数?
- r - 在 R 上加入数据集的问题
- python - How to bold the text of a row cells in python docx?
- java - 如何从 REST 控制器获取多个对象列表?
- sql - 带索引的 SQL 中聚合函数的时间复杂度
- python - Way to Include/Exlude Directories Controlling AWS Lambda Size Serverless
- c# - 在 EF 代码中交叉包含相同的表关系引发错误违反多重性约束