Swift 根据视图大小的更改更改视图图元的大小

Swift 根据视图大小的更改更改视图图元的大小,swift,Swift,我有一个有10个按钮的视图,当视图大小改变时,我希望按钮的大小改变。 或者是否有一种方法可以将按钮设置为视图的子级,以便在视图中应用的所有更改都将应用于所有按钮我所知道的更改元素大小并使其相对于父容器大小的唯一方法是使用(%)大小 我们可以使用autolayout设置10个按钮中每个按钮的高度,使其与superView的高度相等,但倍增为1:10 下面是显示比例高度的示例屏幕截图 我将按钮嵌入堆栈,然后将堆栈大小乘以屏幕大小的百分比,首先得到屏幕大小 let screenSize : CGRec

我有一个有10个按钮的视图,当视图大小改变时,我希望按钮的大小改变。
或者是否有一种方法可以将按钮设置为视图的子级,以便在视图中应用的所有更改都将应用于所有按钮

我所知道的更改元素大小并使其相对于父容器大小的唯一方法是使用(%)大小


我们可以使用autolayout设置10个按钮中每个按钮的高度,使其与superView的高度相等,但倍增为1:10

下面是显示比例高度的示例屏幕截图



我将按钮嵌入堆栈,然后将堆栈大小乘以屏幕大小的百分比,首先得到屏幕大小

let screenSize : CGRect = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
buttonsStack.frame = CGRect(x: screenWidth * 0.75 , y: screenHeight * 0.3 , width: screenWidth * 0.27 , height: screenHeight * 0.67)

X,Y是根据屏幕大小确定的堆栈位置。

但我使用的是SWIFT,这就是自动布局的目的,不是吗?
let screenSize : CGRect = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
buttonsStack.frame = CGRect(x: screenWidth * 0.75 , y: screenHeight * 0.3 , width: screenWidth * 0.27 , height: screenHeight * 0.67)
let screenSize : CGRect = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
buttonsStack.frame = CGRect(x: screenWidth * 0.75 , y: screenHeight * 0.3 , width: screenWidth * 0.27 , height: screenHeight * 0.67)