问题标签 [viewbuilder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
41 浏览

ios - 从另一个视图将字符串值传递给视图构建器

这是基本视图

当我调用这个 baseView 时,我需要从另一个 View 将两个 String 值传递给这个 BaseView 。一种用于按钮标签,另一种用于 URL。

我无法通过在初始化程序上声明变量来做到这一点,得到各种错误。我怎样才能做到这一点?

编辑

baseView 中的初始化程序

我如何从另一个视图中调用它

0 投票
1 回答
64 浏览

swiftui - 保存要在 init 之外使用的 ViewBuilder 参数

我正在使用与 AsyncImage 中相同的初始化签名创建一个名为 AsyncImageCached 的自定义对象。我的问题是,如何在 init 之外定义变量以保存内容占位符参数以在我的异步等待调用完成时使用?

将 I、P 移动到结构级别会破坏其他初始化,并且不会匹配 Apple 的 AsyncImage 签名。

必须有办法让它工作,因为相同的签名在 AsyncImage 中。我不想更改初始化签名函数,因为我已经有其他初始化工作:

任何帮助将不胜感激,我花了两天时间在网上找不到任何教如何在简单示例之外使用 ViewBuilder 的东西,没有像这样的自定义初始化。

0 投票
2 回答
57 浏览

swiftui - 如何通过函数为 TabView 传递内容

我正在尝试构建一个可重复使用的入职寻呼机覆盖。所以我想TabView根据变量将不同的“幻灯片”传递给寻呼机IntroType。但是,既然TabView在没有任何容器的情况下直接获取内容,那么它的返回类型是什么?

这就是我希望它起作用的方式:


另一种方法是让扩展中的每个变量都返回一个整体TabView,但这非常难看,我也没有完全弄清楚,仍然会在该路线上遇到一些其他错误。

我认为必须有某种方法可以做到这一点,我只是对 SwiftUI 的可用工具还不够了解。我可以想象一个带有 @ViewBuilder 包装器的函数可以在这里使用,但到目前为止我还没有完全理解它背后的逻辑。

我最接近的是使用幻灯片的一组 AnyView() 向下转换,但这使得使用 ForEach 很难并删除了类型。

0 投票
1 回答
65 浏览

swift - SwiftUI:等待变量为真

这是我的代码

这是错误

我该如何解决这个问题才能等待变量为真,然后从那里继续代码?