如何解决在提取的子视图中调整 UI 元素大小的正确 Swift-UI 方法是什么?
假设我有我的应用程序的主视图,我需要创建许多不同的图像、文本、按钮、文本字段,...具有适当的大小以获得整洁的布局 - 独立于设备。
我目前的方法是使用 GeometryReader 来获取设备的屏幕尺寸(宽度、高度),并基于此计算它们的尺寸。
struct MyView: View {
var body: some View {
GeometryReader { g in
...
vstack {
Subview1(g,...)
}
...
HStack {
Subview2(g,...)
...
Subview7(g,...)
}
...
}
}
}
例如众多子视图之一:
struct Subview5: View {
var g: GeometryProxy
...
var body: some View {
Image(...)
.frame(width: g.size.width * 0.5,height: g.height * 0.3)
}
}
因此,通过将主视图的几何图形传递给提取的子视图,代码变得越来越难以阅读。
是否有另一种更优雅或更典型的 Swift-UI 方式来执行此操作?
感谢您抽出宝贵时间回答我的问题!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。