如何在xcode中动态改变View的大小?

问题描述 投票:0回答:1

在带有 Swift 5 的 Xcode 中。 我有一个视图,其中视图和按钮放置在彼此下方。 我为所有这些设置了自动布局。 我想改变蓝色View的大小,因为数据来自服务器。 我该怎么做? 如果我已经使用自动布局,我可以不再在代码级别更改大小吗?

ios swift iphone xcode
1个回答
0
投票

以下是有关如何使用 Swift 5 在 Xcode 中动态更改视图大小的分步指南:

1。为约束创建 IBOutlet:

打开视图控制器文件,并为蓝色视图的高度约束创建一个出口。按住 Control 键并从约束拖动到视图控制器代码以创建插座。

@IBOutlet weak var blueViewHeightConstraint: NSLayoutConstraint!

2。修改代码中的约束:

每当需要更改蓝色视图的大小时(例如,当数据来自服务器时),您可以修改高度约束的常量值。

// Assuming newValue is the new height value you want to set
blueViewHeightConstraint.constant = newValue

// Animate the constraint change for a smoother transition (optional)
UIView.animate(withDuration: 0.3) {
    self.view.layoutIfNeeded()
}

3.更新用户界面:

确保调用

layoutIfNeeded
根据修改后的约束更新布局。

self.view.layoutIfNeeded()

这将触发自动布局引擎使用更新的约束重新计算布局。

通过调整高度约束常数,可以有效地改变蓝色视图的大小。此外,使用

layoutIfNeeded
可确保更改立即反映在 UI 中。

© www.soinside.com 2019 - 2024. All rights reserved.