获取视图大小未调整大小

Posted

技术标签:

【中文标题】获取视图大小未调整大小【英文标题】:Getting View Size Not Getting Resized Size 【发布时间】:2015-09-03 04:34:18 【问题描述】:

在视图控制器类中,我尝试在 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)
        
    

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于获取视图大小未调整大小的主要内容,如果未能解决你的问题,请参考以下文章

TextField 子视图未通过 UITableViewCell 框架大小更改调整大小

RootViewController 视图未使用自动布局调整大小

子视图未使用 addSubview 调整大小

在ScrollView中调整了UITableView,内容视图未调整大小

Swift:集合视图未正确调整以更改大小

自定义表格单元格未调整大小以适合内容视图