如何在 SwiftUI 中使用 Foreach 视图?
Posted
技术标签:
【中文标题】如何在 SwiftUI 中使用 Foreach 视图?【英文标题】:How to use Foreach on view in SwiftUI? 【发布时间】:2020-02-03 04:35:19 【问题描述】:我正在使用 Xcode 11.3 和 Swift5 开发我的第一个 ios 应用程序。
但我一直在使用 ForEach 视图。
我想使用 Foreach 将某些 struct
放入 ZStack 中,但仍然出现错误。
Error : Unable to infer complex closure return type; add explicit type to disambiguate
我不知道如何解决这个问题。你能帮帮我吗?
/* Struct I want to put in */
struct Verses: Identifiable
var id: Int
var verse : Int
/* I want to load all values from struct using foreach in view. */
ZStack
ForEach(controller.verses) w in <- Here is where I get error.
Rectangle()
.foregroundColor(Color.white)
.cornerRadius(28)
.opacity(0.4)
.offset(x:0, y:68)
.frame(width:290, height:280)
CardView(date: w.date)
.gesture(DragGesture()
.onChanged( (value) in
......
【问题讨论】:
能否将 Rectangle 和 CardView 放入另一个名为 Cell 的视图中。然后在 ForEach 中使用 Cell 【参考方案1】:ForEach
行必须由 single 视图表示,因此您需要类似以下内容(我仍然不确定容器的类型,但仅作为示例)
ForEach(controller.verses) w in
ZStack
Rectangle()
.foregroundColor(Color.white)
.cornerRadius(28)
.opacity(0.4)
.offset(x:0, y:68)
.frame(width:290, height:280)
CardView(date: w.date)
.gesture(DragGesture()
.onChanged( (value) in
...
【讨论】:
以上是关于如何在 SwiftUI 中使用 Foreach 视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SwiftUI 在 Xcode 中消除 foreach 循环的歧义
如何使用 SwiftUI 使这个 ForEach 函数工作?
如何限制 ForEach 在 SwiftUI 中显示一组项目?
SwiftUI:如何使用 ForEach 循环使用各种代码的各种结构?