我想将图像框调整为与iPhone屏幕宽度相同的正方形,因此高度值(屏幕宽度)也相同。
下面的代码不起作用,因为它使图像具有与视图相同的高度。
var body: some View {
Image("someImage")
.resizable()
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .center)
.clipped()
}
5条答案
按热度按时间nhaq1z211#
您可以创建一个
UIScreen
扩展。比如:用法:
ie3xauqp2#
尝试使用Geometry Reader
kqqjbcuj3#
您可以使用UISscreen.main.bounds**.width或.height**
bn31dyow4#
我提出了一个使用环境密钥的解决方案,通过创建以下内容:
然后通过阅读创建窗口的位置的大小:
最后,我可以直接在任何SwiftUI视图中获取窗口大小,并且它会动态变化(在macOS上旋转设备或调整窗口大小):
wr98u20j5#
最简单的方法是使图像大小可调,并将纵横比设置为1.0: