微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在提取的子视图中调整 UI 元素大小的正确 Swift-UI 方法是什么?

如何解决在提取的子视图中调整 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 举报,一经查实,本站将立刻删除。