首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

调用一个struct,但它在swiftui中不显示

在SwiftUI中调用一个struct,但它不显示的问题可能是由于以下几个原因导致的:

  1. 数据绑定问题:在SwiftUI中,视图的显示通常是通过数据绑定来实现的。如果你调用的struct没有与视图绑定的数据属性,那么它是不会显示的。你可以尝试在struct中添加一个@State@Binding属性,然后将其与视图绑定。
  2. 视图布局问题:如果你的struct在视图布局中没有被正确放置或设置了错误的布局属性,它可能无法显示。你可以检查一下你的struct是否正确地嵌套在父视图中,并且设置了正确的布局属性,例如framepadding等。
  3. 视图层级问题:在SwiftUI中,视图的显示顺序是由它们在视图层级中的顺序决定的。如果你的struct被其他视图遮挡或放置在了不可见的位置,它也会导致不显示。你可以检查一下你的struct是否被正确地放置在视图层级中,并且没有被其他视图遮挡。
  4. 数据源问题:如果你的struct需要从某个数据源获取数据,但数据源没有正确地提供数据,那么它也会导致不显示。你可以检查一下你的数据源是否正确地提供了数据,并且在struct中正确地使用了这些数据。

总结起来,要解决在SwiftUI中调用一个struct但不显示的问题,你可以检查以下几个方面:数据绑定、视图布局、视图层级和数据源。根据具体情况进行排查和调试,确保每个方面都正确设置和使用。如果问题仍然存在,你可以提供更多的代码和上下文信息,以便更好地帮助你解决问题。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,建议你访问腾讯云官方网站,查找与你的需求相关的产品和服务。腾讯云提供了丰富的云计算解决方案,包括计算、存储、数据库、人工智能等领域的产品和服务,可以根据具体需求选择适合的产品。

相关搜索:它在getter中是否有效,在vuex中调用一个action?从Struct中移除元素,但仅针对这一个函数React函数未在"this“中显示,但仍可调用HashMap:它在TextView中显示最小值,但min_variable有更多值在C#中调用进程时,StandardError显示,但StandardOutput不显示SwiftUI中的ForEach循环仅显示数组中的第一个Flutter:如何让它在应用程序中显示一个“请验证”页面,而不是在每个页面上都调用它?尝试显示一个随机的笑话,但问题和答案与本地json文件中的不匹配参数不匹配的闭包调用:在flutter中显示函数'[]‘错误在SwiftUI中,如何在不嵌入当前导航流的情况下显示视图?如何在swift中创建一个闹钟,让它在某个时间调用一个函数来启动音频流?如何根据SwiftUI中另一个视图的变量显示(在ContentView中)视图?如何从数组列表中获取一个值并在v-if中使用它在VUEJS中显示我有一个按钮可以在表单中显示表格,但它在表单外部显示表格,我如何才能在表单内显示连接一个表中的两列,并查找它在另一个表mysql中不显示的位置如何在SwiftUI中显示现有视图中的另一个视图当我使用vi编辑器打开一个文件时,它在raspberry pi中显示错误如何编写一个函数(在flutter dart中),让它在我们调用该函数时接受某些参数?如何创建一个文本,其中它将显示当前日期,但一旦选择日期,它将显示选定的日期?使用SwiftUI。谢谢有条不紊地在jQuery中显示一个元素
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SwiftUI 视图的生命周期研究

视图值树 在 SwiftUI ,视图是状态的函数[2]。 开发者通过符合 View 协议的结构体来声明界面,SwiftUI 通过调用结构体实例的 body 获取对应的视图值。... SwiftUI 并非一定会从新的实例获取 body 结果,如果之前的实例注册过数据依赖,视图值树仍可能会从原来的实例的 body 获取结果。...调用 body 计算结果 通过在 body 添加类似如下的代码,我们可以在 SwiftUI 调用实例的 body 时获得通知: let _ = print("update some view") 计算...比如在 List 和 LazyVStack ,Cell 视图在创建之后即使滚动出屏幕参与布局与渲染, SwiftUI 仍会保留这些视图的数据,直到 List 或 LazyVStack 被销毁。...•在 List 和 LazyVStack SwiftUI 出于效率的考虑,即使 Cell 视图移出显示范围,它的视图仍将保留在视图值树上(视图仍将存续)。

4.4K30

一段因 @State 注入机制所产生的“灵异代码”

等则会在 body 求值时调用( 可以理解为创建实例 ),只有在需要显示时才进行求值这就是说,即使我们在 Sheet 代码块的 Text 添加了对 n 的引用,只要模态视图尚未显示,则 n 的...SheetInitMonitorView 没有任何输出( 意味着闭包没有被调用 ),只有在模态视图进行显示时,SwiftUI 才执行 .sheet 闭包的函数,创建 Sheet 视图。...(deadline: .now() + 0.1){ // 延迟已保证 Sheet 的视图已完成创建 dump(_n) }}Sheet 视图的上下文当 SwiftUI 创建并显示一个...现象分析根据上文中介绍的内容,我们对本文代码的奇怪现象进行一个完整的梳理:当 ContextView 包含 Text( ContextView 没有与 n 创建关联 )程序运行,SwiftUI 对..., ContextView 的 body 并未重新求值由于 show 转变为 true ,SwiftUI 开始调用 .fullScreenCover 的闭包,创建 Sheet 视图尽管 show 也是通过

1.9K20
  • ViewBuilder 研究(下) —— 从模仿中学习

    ,按视图层级结构依当前状态逐个实例化视图类型(到满足全部显示所需为止) 将已不再需要参与布局和渲染的视图的值从 SwiftUI 数据池中移除,并在数据池中添加上新增的视图值 对于仍需显示视图值发生变化的视图... SwiftUI 框架提供的基本视图类型则充分利用了这些接口以实现各自的不同需求。...: AttributedString) -> AttributedString { component } SwiftUI 需要通过视图的类型和位置对视图进行标识,因此在处理选择分支时,无论该分支是否被显示...这是因为在 SwiftUI 诞生时,result builders 使用 buildIf 来处理包含 else 的 if 语句。...的 ViewBuilder 将使用我们提供的 buildOptional 来处理包含 else 的 if 语句 在 SwiftUI 环境创建如下视图 struct ContentView: View

    3K20

    避免 SwiftUI 视图的重复计算

    并且 SwiftUI 会在其变化时自动更新( 重新计算 )对应的视图。 SwiftUI 上有一个困扰了不少人的问题:为什么无法在视图的构造函数,更改 State 包装的变量值?...{ Text("abc") } } 虽然当前的视图中并没有调用 store 实例的属性或方法,但无论在任何场合,只要该实例的 objectWillChange.send 方法被调用...其他建议 需要跳跃视图层级时,考虑使用 Environment 或 EnvironmentObject 对于紧密的 State 关系,考虑在同一个视图层级使用多个 EnvironmentObject...在点击 random age 按钮修改 age 属性后,尽管 StudentNameView 并没有使用 age 属性, SwiftUI 仍然对 StudentNameView 和 StudentAgeView...List 显示区域 )都会重新计算。

    9.2K81

    Ask Apple 2022 与 SwiftUI 有关的问答(下)

    这种 “软弃用” 的 API 不会在代码自动补全中提供,而且通常处在文档单独的一个部分。编译器不会对现有的使用发出警告。...Too complex to type checkQ:我在 iOS 14 SwiftUI 遇到一个问题,我试图有条件地显示 3 个符合 Shape 协议的对象一个。...这是一个在多个版本中都出现过的奇怪问题。在 SwiftUI 早期版本,当在 iOS 中使用系统中文输入法时,很容易触发这种情况。后期逐步得到了修复。...在 SwiftUI ,有一个从第一版开始就存在尚未公开的纯 SwiftUI 实现的滚动容器 —— _ScrollView 。...这个滚动有两大问题,1、是一个未公开的半成品,有可能会被从 SwiftUI 框架移除;2、不支持懒加载,即使和 Lazy 视图一起使用也会一次性加载全部的视图。

    14.8K30

    GeometryReader :好东西还是坏东西?

    GeometryReader 自 SwiftUI 诞生之初就存在,它在许多场景扮演着重要的角色。然而,从一开始就有开发者对其持负面态度,认为应尽量避免使用。...官方文档的“定义其内容( defines its content )”这一表述容易让人误以为 GeometryReader 的主要功能是主动影响子视图,或者说其获取的几何信息主要用于子视图,实际上,...实际上,它的显示结果是完全正确的,这就是正确的布局结果。 因此,在这种情况下,通常我们只会使用拥有明确值维度的尺寸( 建议尺寸有值 ),并以此为来计算另一维度的尺寸。...例如,如果我们想在 ScrollView 以 16:9 的比例显示图片(即使图片自身的比例与此不符): struct GeometryReaderInScrollView: View { var...请阅读 用 SwiftUI 的方式进行布局[9] 和 在 SwiftUI 实现视图居中的若干种方法[10] 两篇文章,以了解面对同一个需求,SwiftUI 有多种布局手段。

    59970

    TCA - SwiftUI 的救星?(一)

    Apple 并没有像在 UIKit 贯彻 MVC 那样,为 SwiftUI ”钦定“ 一个架构。...Elm 运行时负责在得到新 Model 后调用 view 函数,渲染出结果 (在 Elm 的语境下,就是一个前端 HTML 页面)。用户可以通过它再次发送新的消息,重复上面的循环。...ContentView ,我们直接操作 Counter,而是将它放在一个 Store 。这个 Store 负责把 Counter (State) 和 Action 连接起来。...在 SwiftUI ,TCA 使用 ViewStore (它本身是一个 ObservableObject) 来通过 @ObservedObject 触发 UI 刷新。...为数据文本添加颜色 为了更好地看清数字的正负,请为数字加上颜色[13]:正数时用绿色显示,负数时用红色显示。 添加一个 Reset 按钮 除了加和减以外,添加一个重置按钮,按下后将数字复原为 0。

    3.2K30

    SwiftUI 布局协议 - Part2

    我们还可以添加一个改进,那就是视图旋转的动画。仔细观察并比较下面三个轮子:一个旋转。另外两个旋转指向中心,但是一个不使用动画而另一个使用。...我们提到 SwiftUI 可能会多次调用 sizeThatFits 去测试视图的灵活性。在这些调用,你返回的值应该是合理的。....<12].enumerated() { // ... } 然后递归调用placeSubviews 仅限于剩下的视图,如此直到没有别的视图。...:插入两个布局 下一个例子将会创建一个以轮子,或者波浪形式显示视图的布局。...还有许多潜在的优化,制作树布局所需的关键元素都在这里。 一个有用的调试工具 回到当 SwiftUI 刚发布的时候,我尽力搞清楚布局是如何工作的,我希望我有一个像我今天要介绍的这种工具 。

    2.7K30

    SwiftUI 布局 —— 尺寸( 上 )

    尺寸 —— 一个刻意被淡化的概念 SwiftUI一个声明式框架,提供了强大的自动布局能力。开发者几乎可以在涉及尺寸( 或很少涉及 )这一概念的情况下创建出漂亮、精美、准确的布局效果。...对于包含子视图的视图来说( 例如 Text 这类的元视图 ),它们同样会提供接口供父视图来调用以向其传递建议尺寸并获取其需求尺寸。...不过需要注意的是,在 SwiftUI ,有一类视图是会在视图树上显示为父视图,并不具备布局能力。其中的代表有 Group、ForEach 等。...建议尺寸在布局的两个阶段(讨价还价、安置子民)均会提供,通常我们只需在第一个阶段使用它( 可以在第一阶段用 catch 保存中间的计算数据,减少第二阶段的计算量 )。...( 文本不折行、省略 ) 85.33 x 20.33( 上文例子尺寸 ) 明确尺寸模式 如果建议宽度大于单行显示的需要,则需求宽度返回单行实现显示尺寸的宽度 85.33 ;如果建议宽度小于单行显示的需要则需求宽度返回建议尺寸的宽度

    4.7K20

    SwiftUI TextField 进阶 —— 事件、焦点、键盘

    SwiftUI 3.0 ,苹果为开发者提供了一个远好于预期的解决方案,同 onSubmit 类似,可以从更高的视图层次来统一对视图中的 TextField 进行焦点的判断和管理。...在多个的 TextFiled 之间切换焦点 通过使用 focused 和 onSubmit 的结合,我们可以实现当用户在一个 TextField 输入完成后(点击return),自动让焦点切换到下一个...使用快捷键获得焦点 当一个视图中有多个 TextField(包括 SecureField)时,我们可以直接使用Tab键按顺序在 TextField 中切换焦点, SwiftUI 并没有直接提供使用快捷键让某个...如果分别对不同的 TextField 进行设定,SwiftUI 会将所有的内容合并起来显示。 目前 SwiftUI 对 toolbar 内容的干预和处理有些过头。...初衷是好的,帮助开发者更轻松的组织按钮且自动针对不同平台优化并最佳显示效果。 toolbar 及 ToolbarItem 的 ResultBuilder 的限制太多,无法在其中进行更复杂的逻辑判断。

    13.3K10

    SwiftUI 布局协议 - Part 1

    简介 今年 SwiftUI 新增最好的功能之一必须是布局协议。它不但让我们参与到布局过程,而且也给了我们一个很好的机会去更好的理解布局在 SwiftUI 的作用。...就像我在以前的文章 SwiftUI frame 的表现 所描述的的那样,在布局过程,父视图给子视图提供一个尺寸,最终还是由子视图决定如何绘制自己。然后,它将此传达给父视图,以便采取相应的动作。...情况二:如果子视图完全接收提供的视图 图形就是视图中的一个例子,不管你提供了什么他都能接收。在上一个例子,绿色矩形占据了提供的所有空间,没有一个多余的像素。...SwiftUI 已经做了一些缓存。例如,从子视图代理获得的值会自动存储在缓存。相同的参数的反复调用将会使用缓存结果。...我们初始化类型然后调用 callAsFunction,因为 callAsFunction的返回值是一个视图,所以我们可以把它放到我们的 SwiftUI 代码

    3.3K10

    SwiftUI中使用UIKit视图

    仍有大量的事情是无法直接通过原生SwiftUI代码来完成的。...该方法在UIViewRepresentable的生命周期中会多次调用,直到视图被移出视图树(更准确地描述是切换到另一个包含该视图的视图树分支)。...SwiftUI无法真正进行无限量的调用来绘制视图,因此它必须以某种方式缩短递归。为了结束递归,SwiftUI包含了很多的原始类型(primitive types)。...例如,UIKit我们将一个代理对象附加到Text field视图上,当用户输入时,当用户按下return键时,该代理对象对应的方法将被调用。...如果按照TextField的正常行为,当我们在其中输入任何文本时,下方的Text应该显示出对应的内容,不过在我们当前的代码版本,并没有表现出预期的行为。

    8.2K22

    【visionOS】从零开始创建第一个visionOS程序

    虽然你也可以使用UIKit来构建你的应用程序的一部分,你需要使用SwiftUI来实现许多平台独有的功能。 为visionOS开发软件需要一台带有苹果芯片的Mac。...当指定的手势发生在实体上时,SwiftUI执行提供的闭包。 下面的示例将一个点击手势识别器添加到上一个示例的球体视图中。...3D内容 volume是一种窗口类型,它在三个维度上增长,以匹配它所包含的内容的大小。...当你的空间可见时,其他应用程序仍然隐藏,当你关闭它时,它们会返回。如果你的应用程序定义了多个空格,你必须在显示一个不同的空格之前取消当前可见的空格。...如果取消可见空间,那么当您尝试打开另一个空间时,系统将发出运行时警告。

    91340

    SwiftUI Overlay Container 2 —— 可定制、高效、便捷的视图管理器

    SwiftUI Overlay Container[1] 是一个用于 SwiftUI 的视图容器组件。一个可定制、高效、便捷的视图管理器。...因此,我写了一个组件希望可以帮助开发者在 SwiftUI 快速完成上述需求。受限于当时的技术能力,很多的想法都没有能够很好地实现。...设计动机 当我们需要在视图的上层显示新的内容(例如:弹出信息、侧边菜单、帮助提示等)时,有很多优秀的第三方解决方案可以帮助我们分别实现,没有一个方案可以同时应对不同的场景需求。...在 SwiftUI ,描述视图已经变得十分的容易,因此我们完全可以将上述场景显示逻辑提炼出来,创建出一个可以覆盖更多使用场景的库,帮助开发者组织视图的显示风格和交互逻辑。...使用者通过调用容器管理器的特定方法,让指定的容器执行显示视图、撤销视图等工作。 容器管理器的环境值 在 SwiftUI ,视图代码通过环境值调用容器管理器。

    2.1K20

    onAppear 的调用时机

    onAppear( task )是 SwiftUI 开发者经常使用的一个修饰符,一直没有权威的文档明确它的闭包被调用的时机。...创建实例、求值、布局、渲染在 SwiftUI 一个视图在它的生命周期中通常会经历四个阶段:创建实例视图树,处于可显示分支的视图基本上都会经历的一个阶段。...在一个视图的生存期中,SwiftUI 可能会多次创建视图实例。由于惰性视图的优化机制,对于尚未处于可见区域的子视图,SwiftUI 不会创建其实例求值一个显示的视图至少会经历一次的过程。...由于 SwiftUI 的视图实际上是一个函数,SwiftUI 需要对视图进行求值( 调用 body 属性 )并保留计算结果。...这会让开发者误以为 onAppear 是在视图渲染后( 使用者看到后 )才被调用的。但在 SwiftUI ,onAppear 实际上是在渲染前被调用的。

    2.1K20

    onAppear 的调用时机

    onAppear( task )是 SwiftUI 开发者经常使用的一个修饰符,一直没有权威的文档明确它的闭包被调用的时机。...创建实例、求值、布局、渲染 在 SwiftUI 一个视图在它的生命周期中通常会经历四个阶段: 创建实例 视图树,处于可显示分支的视图基本上都会经历的一个阶段。...在一个视图的生存期中,SwiftUI 可能会多次创建视图实例。 由于惰性视图的优化机制,对于尚未处于可见区域的子视图,SwiftUI 不会创建其实例 求值 一个显示的视图至少会经历一次的过程。...由于 SwiftUI 的视图实际上是一个函数,SwiftUI 需要对视图进行求值( 调用 body 属性 )并保留计算结果。...这会让开发者误以为 onAppear 是在视图渲染后( 使用者看到后 )才被调用的。但在 SwiftUI ,onAppear 实际上是在渲染前被调用的。

    1.1K10

    SwiftUI + Core Data App 的内存占用优化之旅

    本文将通过对一个演示 App 进行逐步内存优化的方式( 由原先显示 100 条数据要占用 1.6 GB 内存,优化至显示数百条数据仅需 200 多 MB 内存 ),让读者对 SwiftUI 视图的存续期...当子视图进入惰性容器的可视区域时,SwiftUI调用它的 onAppear 闭包,子视图退出可视区域时,会调用 onDisappear 闭包。...尽管从表面上来看,惰性容器仅会在视图进入可视区域时才会对其进行操作,一旦该视图被显示过( body 被求过值 ),即使该视图离开可视区域,SwiftUI 仍会保存视图的 body 值。...数据的多份拷贝 当图片数据从 SQLite 经 Core Data 最终通过 SwiftUI 显示时,实际上在内存至少保存了三份拷贝: 行缓存 托管对象上下文( 托管对象被填充后 ) 显示该图片的 SwiftUI...终极优化:私有上下文 + 持有托管对象 思路 在第二轮优化,尽管通过将托管对象转换为惰值解决了一部分内存占用问题,存在于行缓存的数据始终还是无法得到有效清除。

    1.3K10

    SwiftUI + Core Data App 的内存占用优化之旅

    本文将通过对一个演示 App 进行逐步内存优化的方式( 由原先显示 100 条数据要占用 1.6 GB 内存,优化至显示数百条数据仅需 200 多 MB 内存 ),让读者对 SwiftUI 视图的存续期...当子视图进入惰性容器的可视区域时,SwiftUI调用它的 onAppear 闭包,子视图退出可视区域时,会调用 onDisappear 闭包。...尽管从表面上来看,惰性容器仅会在视图进入可视区域时才会对其进行操作,一旦该视图被显示过( body 被求过值 ),即使该视图离开可视区域,SwiftUI 仍会保存视图的 body 值。...数据的多份拷贝 当图片数据从 SQLite 经 Core Data 最终通过 SwiftUI 显示时,实际上在内存至少保存了三份拷贝: 行缓存 托管对象上下文( 托管对象被填充后 ) 显示该图片的 SwiftUI...终极优化:私有上下文 + 持有托管对象 思路 在第二轮优化,尽管通过将托管对象转换为惰值解决了一部分内存占用问题,存在于行缓存的数据始终还是无法得到有效清除。

    2.4K40

    SwiftUI 视图中打开 URL 的若干方法

    SwiftUI 2.0( iOS 14、Big sur ) SwiftUI 2.0 为第一个场景提供了相当完美的原生方案,仍无法通过原生的方式来处理第二种场景。...openURL openURL 是 SwiftUI 2.0 中新增的一个环境值( EnvironmentValue ),它有两个作用: 通过调用它的 callFunction 方法,实现打开 URL 的动作...此时在 Button ,我们可以直接通过 openURL 来完成在 SwiftUI 1.0 版本通过调用其他框架 API 才能完成的工作。...3.0 时代,随着 Text 功能的增强和 AttributedString 的出现,SwiftUI 终于补上了另一个短板 —— 将文本的部分内容变成可点击区域,点击后打开指定的 URL。...遗憾的是,即使我们已经为 AttributedString 设置了前景色,当某段文字的 link 属性非 nil 时,Text 将自动忽略它的前景色和下划线设定,使用系统默认的 link 渲染设定来显示

    7.7K31
    领券