相关疑难解决方法(0)

SwiftUI - 计算 ScrollView 内长 GeometryReader 的高度

基于这个问题:SwiftUI - Drawing (curved) paths between view

我使用 绘制所需的视图和路径GeometryReader。问题是,现在屏幕变得太长而无法显示全部内容(有 15 个这样的视图,但您在这里只能看到 6 个):

在此输入图像描述

所以...我ScrollView在整个事情上添加了一个。之外,GeometryReader因为否则所有观点都是错误的。这是代码:

var body: some View {
        if (challengeViewModel.challengeAmount != 0) {
            ScrollView {
                GeometryReader { geometry in
                    let points = calculatePoints(geometry: geometry)
                    drawPaths(geometry: geometry, points: points)
                            .stroke(lineWidth: 3).foregroundColor(.yellow)
                    drawCircles(geometry: geometry, points: points)
                }
            }
                 .background(Color.black)
                 .navigationBarTitle("Journey")

        } else {
            Text("Loading...")
        }
    }
Run Code Online (Sandbox Code Playgroud)

(内容基本上就是1.根据屏幕尺寸计算点,2.沿着点绘制路径,3.在点上放置圆圈)

问题:
现在我明白需要从父级和子级GeometryReader获取其高度,这成为一个“先有鸡还是先有蛋的问题”。ScrollView所以我想手动计算高度GeometryReader


我的尝试

第一次尝试

最简单的方法是采用一些固定值并计算出一个非常粗略的值。我只是将其添加到GeometryReader

GeometryReader { geometry in …
Run Code Online (Sandbox Code Playgroud)

ios swiftui geometryreader swiftui-scrollview

4
推荐指数
1
解决办法
2404
查看次数

在SwiftUI中布局后,如何获取“视图”的位置?

有没有办法View在布局后获取的框架?在布局放置两个视图之后,我想画一条线连接两个视图:

在此处输入图片说明

似乎我需要类似measureReact的东西。

ios swift swiftui

3
推荐指数
1
解决办法
1196
查看次数

标签 统计

ios ×2

swiftui ×2

geometryreader ×1

swift ×1

swiftui-scrollview ×1