You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

多个GeometryReader与其他GeometryReader在SwiftUI中引起问题。

在SwiftUI中,使用多个GeometryReader可能会引起一些问题。这是因为GeometryReader根据其父视图的尺寸来计算和布局其子视图。

以下是一个包含代码示例的解决方法:

import SwiftUI

struct ContentView: View {
    var body: some View {
        GeometryReader { outerGeometry in
            ScrollView {
                VStack {
                    GeometryReader { innerGeometry in
                        Text("Inner Geometry Reader")
                            .frame(width: outerGeometry.size.width, height: innerGeometry.size.height)
                            .background(Color.blue)
                    }
                    .frame(height: 150)
                    
                    Text("Outer Geometry Reader")
                        .frame(width: outerGeometry.size.width, height: 300)
                        .background(Color.red)
                }
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

在这个示例中,我们有一个外部的GeometryReader和一个内部的GeometryReader。内部的GeometryReader用来调整文本视图的高度,并将其放置在蓝色背景中。外部的GeometryReader用来调整另一个文本视图的宽度,并将其放置在红色背景中。

但是,如果我们运行这个代码,我们会发现内部的GeometryReader并没有按照我们的期望进行布局。这是因为内部的GeometryReader使用的是外部GeometryReader的尺寸,而外部的GeometryReader的尺寸是可滚动的。

为了解决这个问题,我们可以使用GeometryProxy中的frame(in:)方法来获取父视图的实际尺寸,并使用该尺寸来布局子视图。修改代码如下:

struct ContentView: View {
    var body: some View {
        GeometryReader { outerGeometry in
            ScrollView {
                VStack {
                    GeometryReader { innerGeometry in
                        Text("Inner Geometry Reader")
                            .frame(width: outerGeometry.size.width, height: innerGeometry.frame(in: .global).size.height)
                            .background(Color.blue)
                    }
                    .frame(height: 150)
                    
                    Text("Outer Geometry Reader")
                        .frame(width: outerGeometry.size.width, height: 300)
                        .background(Color.red)
                }
            }
        }
    }
}

在这个修改后的代码中,我们使用innerGeometry.frame(in: .global).size.height来获取内部GeometryReader的实际高度,并将其用于调整文本视图的高度。这样,我们就可以正确地布局内部的GeometryReader。

通过使用frame(in:)方法,我们可以确保多个GeometryReader在SwiftUI中正确地调整和布局其子视图。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

干货 | ELT in ByteHouse 实践与展望

在实时分析版块,字节内部决定开始试水 ClickHouse。 2018 年到 2019 年,字节内部的 ClickHouse 业务从单一业务,逐步发展到了多个不同业务,适用到更多的场景,包括 BI 分析、A/B 测试、模型预估等。 ... **ByteHouse 产品可以分为两个形态:****1. 企业版:**PaaS 模式、全托管、租户专属资源。**2. 数仓版:**SaaS 模式,在这个模式中,使用者可以免运维。用户通过控制台建表、导数据以及使用查询功能。 ...

干货|字节跳动数据技术实战:Spark性能调优与功能升级

uI9kzPLSUWEr5Y%3D)**/ 整体架构 /**------------- **火山引擎LAS**(LakeHouse Analysis Service)湖仓一体分析服务,包含批流一体 SQL,以及Spark/Presto多个计算引擎,其中LAS Spark作为高效的批式计... 在这个过程中,我们引入了 Prewhere优化,其在RowGroup Skipping的基础上进一步基于batch粒度的过滤。 具体而言,如下图所示,我们会拆分FilterReader和NonFilterReader两个 Reader,首先会基于FilterReader读...

精选文章|设计一个“高效”的字节码插桩框架

在做性能监控及项目优化的过程中,不可避免地需要使用字节码插桩的来实现一些需求。 比如:* 函数体前后插桩实现函数耗时检测;* Activity、Fragment相关生命周期函数插桩,实现UI活动耗时检测;* Threa... Android项目编译过程中生成的一些R类也是通过ASM来生成的。 AspectJ主要针对的是面向函数切面的编程需求,类似ASM框架的编程,需要处理的是对编译后的class文件的修改行为(通过ClassReader、ClassWriter实...

字节跳动 Flink 状态查询实践与优化

通常会因为无法获知 State 的定义方式和具体类型等信息,而导致查询 State 的成本过高。为了解决这个问题,字节跳动流式计算团队在内部提出了 State Query on Flink SQL 的解决方案——用户通过写 SQL 的方式就可以... 最后,调用 Savepoint.readKeyedState 并传入算子的 uid 和 ReaderFunction,就可以完成 State的查询。 接下来为大家简述一下 **State 查询背后的原理**。在 Savepoint 目录中包含两种文件,一种是状态数据文件...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

多个GeometryReader与其他GeometryReader在SwiftUI中引起问题。-优选内容

干货 | ELT in ByteHouse 实践与展望
在实时分析版块,字节内部决定开始试水 ClickHouse。 2018 年到 2019 年,字节内部的 ClickHouse 业务从单一业务,逐步发展到了多个不同业务,适用到更多的场景,包括 BI 分析、A/B 测试、模型预估等。 ... **ByteHouse 产品可以分为两个形态:****1. 企业版:**PaaS 模式、全托管、租户专属资源。**2. 数仓版:**SaaS 模式,在这个模式中,使用者可以免运维。用户通过控制台建表、导数据以及使用查询功能。 ...
干货|字节跳动数据技术实战:Spark性能调优与功能升级
uI9kzPLSUWEr5Y%3D)**/ 整体架构 /**------------- **火山引擎LAS**(LakeHouse Analysis Service)湖仓一体分析服务,包含批流一体 SQL,以及Spark/Presto多个计算引擎,其中LAS Spark作为高效的批式计... 在这个过程中,我们引入了 Prewhere优化,其在RowGroup Skipping的基础上进一步基于batch粒度的过滤。 具体而言,如下图所示,我们会拆分FilterReader和NonFilterReader两个 Reader,首先会基于FilterReader读...
精选文章|设计一个“高效”的字节码插桩框架
在做性能监控及项目优化的过程中,不可避免地需要使用字节码插桩的来实现一些需求。 比如:* 函数体前后插桩实现函数耗时检测;* Activity、Fragment相关生命周期函数插桩,实现UI活动耗时检测;* Threa... Android项目编译过程中生成的一些R类也是通过ASM来生成的。 AspectJ主要针对的是面向函数切面的编程需求,类似ASM框架的编程,需要处理的是对编译后的class文件的修改行为(通过ClassReader、ClassWriter实...
字节跳动 Flink 状态查询实践与优化
通常会因为无法获知 State 的定义方式和具体类型等信息,而导致查询 State 的成本过高。为了解决这个问题,字节跳动流式计算团队在内部提出了 State Query on Flink SQL 的解决方案——用户通过写 SQL 的方式就可以... 最后,调用 Savepoint.readKeyedState 并传入算子的 uid 和 ReaderFunction,就可以完成 State的查询。 接下来为大家简述一下 **State 查询背后的原理**。在 Savepoint 目录中包含两种文件,一种是状态数据文件...

多个GeometryReader与其他GeometryReader在SwiftUI中引起问题。-相关内容

配置 SAP Hana 数据源

TEXT 数组类型 multi value 仅支持元素为 string 其他 st_point、st_geometry 会转为 string 处理 3 数据同步任务开发 3.1 数据源注册新建数据源操作详见配置数据源,下面为您介绍用连接串方式配置 Hana 数... 在某些复杂场景下,或当数据源类型暂不支持可视化配置时,您可通过任务脚本的方式,按照统一的 Json 格式,编写 Hana Reader 参数脚本代码,来运行数据集成任务。 3.4.1 进入 DSL 模式 进入 DSL 模式操作流程,可详见 My...

一个不会绘画的我遇到AI绘画的年代 | 社区征文

一起绘制出梦想中的世界。## 一、基础原理### Diffusion在 AI 绘画之前,我有必要简短给大家介绍一下 AI 绘画的基本原理。 我们先来想一个问题,你认为 AI 是怎么进行绘画的?是一笔一笔地勾勒轮廓,然后再... 开源的魅力就在于它的无限可能,[AUTOMATIC1111](https://xie.infoq.cn/link?target=https%3A%2F%2Fgithub.com%2FAUTOMATIC1111%2Fstable-diffusion-webui)大佬为 Stable Diffusion 开发了一套 Webui 页面,通过简单...

居家办公更要高效 - 自动化办公完美提升摸鱼时间 | 社区征文

其实这里包含了合并多张图片到 pdf 文档中```pythonimport comtypes.clientimport osdef init_powerpoint(): powerpoint = comtypes.client.CreateObject("Powerpoint.Application") powerpoint.Visi... pdfReader = PyPDF2.PdfFileReader(pdfFile)print(pdfReader.numPages)page = pdfReader.getPage(0)print(page.extractText())pdfFile.close()```还可以把提取到文字存入 txt```pythonimport pdfplumberw...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

使用说明

在地理空间数据中标识参考系统的唯一身份标识符。参考系统定义了地理空间数据如何在地球上进行测量和表示。 **常用的 SRID 值 4326,即 WGS84 地理坐标系统。**这是一种广泛使用的全球参考系统,经纬度用度量单位表示。适用于一般只需要表示地理空间数据粗略的位置,无需进行精确的测量和分析的情况。 只有两个实例具有相同的 SRID 时,才可以对两者进行运算。 数据类型与函数 数据类型 Point:点数据类型,可声明为Geometry('Point'...

干货|ClickHouse进阶:性能提升20倍!深度解析Projection优化实践

除了常见的 Join Reorder 问题以外,还支持 Outer-Join/Join Reorder,Magic Set Placement 等相关优化能力。 **●****分布式计划优化:** 面向分布式MPP数据库,生成分布式查询计划,并且和 CBO 结合在一起。相对业界主流实现:分为两个阶段,首先寻求最优的单机版计划,然后将其分布式化。我们的方案则是将这两个阶段融合在一起,在整个 CBO 寻求最优解的过程中,会结合分布式计划的诉求,从代价的角度选择最优的分布式计划。对...

Proton 发行版本

可通过WebUI的方式访问meta server,查看服务状态。 Proton-SDK模式下支持fuse的方式进行挂载。 优化解决并发场景下,缓存IAM Credential信息时,创建本地目录失败,多一次网络请求的现象。 下载地址:proton-1.6.1-... 优化Spark 生成的 Tasks 数比实际 Tasks 数多 3 倍的问题。 修复MPU过程中staging不是线程安全问题。 修复JobCommitter 在 CommitJob 阶段写 _SUCCESS 文件失败不会导致作业回滚。 下载地址:proton-1.5.1-bin...

配置 SQLServer 数据源

Geometry Types 不支持 不支持 table 不支持 不支持 rowversion 不支持 不支持 uniqueidentifier 支持 支持 xml 支持 支持 SQL Server Reader SQL Server Writer 针对 SQL Server 的类型转换列... [required] datasource type "type": "sql_server", // [optional] datasource id, set it if you have registered datasource "datasource_id": 12345, // [required] user paramete...

配置 MySQL 数据源

3 支持的字段类型当前主要字段类型支持情况如下: 字段类型 离线读(MySQL Reader) 离线写(MySQL Writer) TINYINT 支持 支持 SMALLINT 支持 支持 INTEGER 支持 支持 BIGINT 支持 支持 FLOAT 支持... GEOMETRYCOLLECTION 不支持 不支持 4 数据同步任务开发 4.1 数据源注册新建数据源操作详见配置数据源,以下为您介绍不同接入方式的 MySQL 数据源配置相关信息: 火山引擎 MySQL 数据源 注意 离线读 MySQL 数据时...

干货 | 如何搭建清晰易懂的数据看板(上)?

好看可以从两个角度去理解, **一是易于理解( Easy to read),** 即清晰准确的呈现指标全貌,让读者无需花费时间和精力去解读,能够第一时间读懂数据。 **二是美观优雅(Good-looking),** 即通过规则又协调的页面,吸引... 在看板的运维阶段同样关键,了解到大家想看到什么数据,并结合看板阅读者查阅诉求的更迭,不断更新非常重要。 **精雕深层的数据细节(reader stratification)** :每个看板可能存在多个读者,不同用户对...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询