swiftui - 为什么我的 ListView 什么都没有,SwiftUI
问题描述
我不知道为什么我的列表视图是空的,这是我的代码:
List(asArray, id: \.self) { i in
Text(i)
.foregroundColor(.black)
}
而且我的 Array 没问题,因为如果我用 ForEach Block 代替 ListView,一切都会呈现出来。
ForEach(asArray, id: \.self) { i in
Text(i)
.foregroundColor(.black)
}
此代码运行良好。
看,这段代码运行良好
ForEach(asArray, id: \.self) { i in
Text(i)
}
但是如果我将孔代码放在列表视图中,则没有任何效果
List{
ForEach(asArray, id: \.self) { i in
Text(i)
}
}
为什么?我不知道...
顺便说一句:这也不起作用
List {
ForEach(0 ..< asArray.count) { index in
Text(asArray[index])
.foregroundColor(.black)
}
}
谢谢你的帮助。布托什
解决方案
自定义类/结构:
为确保您的视图正确显示,请确保 ListView 不在 ScrollView 内。接下来,确保您的数组符合Identifiable
. 一旦它符合可识别的,您可以调用以下内容:
List(asArray) { i in
Text(i)
.foregroundColor(.black)
}
当您的数组符合 Identifiable 时,请确保您的类或结构有一个名为的变量id
,这样您就不必在 ListView 中指定 id 参数。
内置类/结构:
您需要执行以下操作,因为 Swift 内置的某些类/结构不符合Identifiable
:
List {
ForEach(0 ..< asArray.count) { index in
Text(asArray[index])
.foregroundColor(.black)
}
}
推荐阅读
- javascript - React-Native onPress 在导出为组件时不起作用
- javascript - 如何阻止背景样式覆盖 React 内联样式的 backgroundColor 样式?
- java - 我们可以将@FunctionalInterface 注解应用于Java 中的抽象类吗?
- java - @MockMvc 不适用于带有 @Valid 注释的验证
- jquery - 使用 JQuery 将文本添加到动态创建的 HTML 表
- java - Android:错误:无法解决:cardview 受影响的模块:app
- vulkan - 传输写入命令之间的管道屏障
- objective-c - 核心情节:光标不会在 CPTGraphHostingView 上调整
- javascript - 如何使用 VeeValidate (Vue.Js) 上的字典为 ValidationProvider 自定义“必需”错误消息
- c# - 通过Selenium和C#最小化浏览器时如何ScrollIntoView