设置约束后 Swift 获取实际视图大小
Posted
技术标签:
【中文标题】设置约束后 Swift 获取实际视图大小【英文标题】:Swift get actual view size after setting constraints 【发布时间】:2020-06-06 10:43:09 【问题描述】:我如何获得实际的视图大小?
现在我从gameView.frame.size
得到它
它确实给了我设置的正确值,但它没有给我实际的大小。
例如:
在我的故事板中,我有一部 iPhone 11,我画了一个宽度为:375
和高度为:375
的框架。
现在我模拟了一个 iPad,框架确实有正确的约束,但它仍然给我 375-375 的值,但这不是实际大小。
【问题讨论】:
【参考方案1】:您有几个选择;根据您的用例:
使用以下方法获取您的框架:
DispatchQueue.main.async
//print(self.view.frame)
在viewDidAppear
中获取更新后的帧值
在viewDidLayoutSubviews
中获取更新后的帧值。但要小心这被多次调用。
【讨论】:
以上是关于设置约束后 Swift 获取实际视图大小的主要内容,如果未能解决你的问题,请参考以下文章
Swift iOS以编程方式在导航栏下方设置scrollView约束
Swift,Tableview 约束行为不正常 - Xcode 9