【问题标题】:Change UIView width in Swift 5在 Swift 5 中更改 UIView 宽度
【发布时间】: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。我使用约束而不是恒定宽度并且工作正常。

标签: ios swift xcode uiview


【解决方案1】:

作为Sweeper said,您将无法更改添加了约束的视图框架。相反,如果您希望宽度始终等于父项的 0.2,则应使用比例约束。

  1. 右键单击灰色视图并按住
  2. 拖到父视图,然后松开
  3. 选择等宽
  4. 在属性检查器中,选择您刚刚添加的约束
  5. 点击编辑
  6. 为“乘数”输入0.2
  7. 完成!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多