此问题已在此处有答案:
How to get Height and Width of View or Screen in SwiftUI(2个答案)
6天前关闭
我需要获取当前SwiftUI视图所在窗口的大小。
我知道有一个UIScreen.main.bounds
解决方案,但它说它将在未来的版本中被弃用。当我尝试UIApplication.shared.keyWindow
时,它说它在iOS 13中已弃用,与UIApplication.shared.windows
相同,除了它在iOS 15中已弃用。
弃用消息建议我使用UIWindowScene
来获取当前窗口,但似乎访问当前窗口场景的唯一方法是在UIView
中
有没有办法在SwiftUI
中获取当前窗口的大小(希望不涉及UIKit
)?
1条答案
按热度按时间elcex8rz1#
你可以使用
GeometryReader
,它不是关于屏幕大小,而是它覆盖的区域大小。因此,如果你在视图层次结构中首先添加它,你可以得到屏幕的大小。GeometryReader涵盖了它的所有可用空间,因此您可以使用来获取屏幕大小。