获取视图大小而不是调整大小
Getting View Size Not Getting Resized Size
在视图控制器中 class 我正在尝试以编程方式在 10x10 网格中制作按钮。我有约束并且视图正在正确调整大小,但我从打印语句中返回和看到的大小是故事板的原始大小,而不是调整后的大小。我如何获得新尺寸?
func buttonGridder() {
for x in 0..<10 {
for y in 0..<10{
let sizer = ButtonGrid.frame.width
let buttonSize:CGFloat = ButtonGrid.frame.width / CGFloat(10)
print("\(x), \(y), \(buttonSize), \(sizer)")
let letterButton = WordButton(column: x, row: y, buttonSize: buttonSize, buttonMargin: 0)
self.ButtonGrid.addSubview(letterButton)
}
}
}
在该方法中调用Log函数viewDidLayoutSubviews
。这是在根据 viewDidAppear
之后的约束相应地定位视图之后调用的方法。注意:此方法会在一次调用中多次调用,因此请勿在此方法中分配或添加。
如果您稍后要添加或更改视图大小,则调用 setNeedsDisplay
重绘视图控制器中的所有视图
在视图控制器中 class 我正在尝试以编程方式在 10x10 网格中制作按钮。我有约束并且视图正在正确调整大小,但我从打印语句中返回和看到的大小是故事板的原始大小,而不是调整后的大小。我如何获得新尺寸?
func buttonGridder() {
for x in 0..<10 {
for y in 0..<10{
let sizer = ButtonGrid.frame.width
let buttonSize:CGFloat = ButtonGrid.frame.width / CGFloat(10)
print("\(x), \(y), \(buttonSize), \(sizer)")
let letterButton = WordButton(column: x, row: y, buttonSize: buttonSize, buttonMargin: 0)
self.ButtonGrid.addSubview(letterButton)
}
}
}
在该方法中调用Log函数viewDidLayoutSubviews
。这是在根据 viewDidAppear
之后的约束相应地定位视图之后调用的方法。注意:此方法会在一次调用中多次调用,因此请勿在此方法中分配或添加。
如果您稍后要添加或更改视图大小,则调用 setNeedsDisplay
重绘视图控制器中的所有视图