1

在视图控制器类中,我试图以编程方式在 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)
        }
    }
}
4

1 回答 1

1

在此方法中调用 Log 函数viewDidLayoutSubviews。这是在视图根据约束定位后调用的方法 after viewDidAppear。注意:此方法一次调用多次,因此请勿在此方法中分配或添加。

并且如果您稍后要添加或更改视图大小,则调用setNeedsDisplay以重绘视图控制器内的所有视图

于 2015-09-03T05:07:01.587 回答