获取视图大小未调整大小
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 视图未使用自动布局调整大小