迭代视图网格 SwiftUI

2023-12-01

我想获取一个可变长度的数组并返回一个包含 3 列和可变行长度的视图网格。视图应该根据数组值更新其内容。

以下代码将为每张卡片呈现一个 CardPicView,在滚动视图中标题为“A”...“I”。

struct ContentView : View {
    let cards = ["A", "B", "C", "D", "E", "F", "G", "H", "I"]
    var body: some View {
        ScrollView {
            ForEach(cards.identified(by: \.self)) { card in
                    CardPicView(cardTitle: card)
            }
        }
    }
}

我想把这个滚动视图本质上分成 3 列。

我发现下面的代码可以使用以下方法创建正确大小的网格:

struct ContentView : View {
    let cards = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
    var body: some View {
        ScrollView{
            ForEach(0..<cards.count/3) { row in // create number of rows
                HStack {
                    ForEach(0..<3) { column in // create 3 columns
                        Text(self.cards[row])
                    }
                }
            }
        }
    }
}

然而,这给了我一个 3x4 网格,其中只有 (AAA/BBB/CCC/DDD)

将其更改为:

struct ContentView : View {
    let cards = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
    var body: some View {
        ScrollView{
            ForEach(0..<cards.count/3) { row in // create number of rows
                HStack {
                    ForEach(0..<3) { column in // create 3 columns
                        Text(self.cards[column])
                    }
                }
            }
        }
    }
}

给我一个只有 (ABC/ABC/ABC/ABC) 的 3x4 网格。

我以某种方式需要使用两个索引迭代行和列,但不知道如何快速执行此操作。


我认为 SwiftUI 中没有任何具体内容可以阻止这种情况。我想这就是你想要实现的目标?

struct ContentView : View {
    let cards = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
    var body: some View {
        ScrollView{
            ForEach(0..<cards.count/3) { row in // create number of rows
                HStack {
                    ForEach(0..<3) { column in // create 3 columns
                        Text(self.cards[row * 3 + column])
                    }
                }
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迭代视图网格 SwiftUI 的相关文章

  • 调用 SwiftUI 中位置 #11、#12 处的额外参数 [重复]

    这个问题在这里已经有答案了 我在 SwiftUI 中的切换开关上不断收到 调用中位置 11 12 处有额外参数 错误 我见过其他人有 调用中的额外参数 错误 但答案似乎没有帮助 另外 我的错误是 位置 11 12 我还没有看到其他人发生这种
  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • Swift 中的柯里函数

    我想创建一个返回柯里函数的函数 如下所示 func addTwoNumbers a Int b Int gt Int return a b addTwoNumbers 4 b 6 Result 10 var add4 addTwoNumbe
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • SwiftUI:状态栏颜色

    有没有办法将 SwiftUI 视图的状态栏更改为白色 我可能错过了一些简单的东西 但我似乎找不到在 SwiftUI 中将状态栏更改为白色的方法 到目前为止我只看到 statusBar hidden Bool 状态栏文本 色调 前景色可以通过
  • 用于字数计算的 Swift String 中的字数

    我想做一个程序来找出字符串中有多少个单词 用空格 逗号或其他字符分隔 然后把总数加起来 我正在制作一个平均计算器 所以我想要数据总数 然后将所有单词相加 update Xcode 10 2 x Swift 5 或更高版本 使用基础方法enu
  • 如何防止Apple Watch进入睡眠状态?

    我们正在开发一个 Apple Watch 项目 但如果不被打扰 手表就会进入睡眠状态 有什么办法可以阻止它进入睡眠状态吗 据我所知和有关该主题的其他搜索 目前还没有api可通过编程方式启用或禁用 Apple Watch 的睡眠模式
  • 如何在 Swift 中获取字典中最后输入的值?

    如何获取 Swift 字典中最后输入的值 例如 我如何从下面获取值 CCC var dictionary Dictionary
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • 致命错误:在字典中发现“地理编码地标”类型的重复键。 (Mapbox 地理编码器)

    我引用 这通常意味着要么该类型违反了 Hashable 的要求 要么此类字典的成员在插入后发生了变化 我正在使用 Mapbox Geocoder 当发生此运行时错误时 我的 XCode 将我带到线程 1 0 swift runtime on
  • Swift 3 中是否提供内置内部函数?

    我可以在 Xcode 自动完成弹出窗口中看到各种内置函数 如 builtin popount builtin clz 等 我不确定这些是从哪里获取的 单击命令不会导致快速定义或任何文档 Swift 3 中是否有 builtin 或等效的内部
  • 如何自动缩放mapView以显示叠加层

    我可以在 mapView 上绘制多边形 但是我需要找到多边形并手动缩放它 有没有办法自动执行此过程 例如调整中心多边形 我浏览过互联网并阅读了一些相关文章 其中大多数都是基于折线和点的 任何形式的帮助将不胜感激 因为我正在寻找解决方案一段时
  • Swift 3 错误:[_SwiftValue pointSize] 无法识别的选择器发送到实例

    我刚刚将我们的项目迁移到 swift 3 发现由于一个问题导致大量崩溃 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 SwiftValue pointSize 发送到实例的无法识别的选择器 该
  • NSDateFormatter 返回错误的日期 + Swift

    Code let dateString 2016 04 02 var formatter NSDateFormatter NSDateFormatter formatter timeZone NSTimeZone abbreviation
  • iOS 11 安全区域布局指南向后兼容性

    启用安全区域布局指南是否与 iOS 11 以下版本兼容 我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性 编辑 正如 NickEntin 的评论所指出的 此实现将假定存在状态栏 但在 iPhone X 的横
  • 迭代 NSOrderedSet

    我正在尝试迭代 NSOrderedSet 的实例 像这样的事情 func myFunc var orderedSet NSOrderedSet array 42 43 44 for n in orderedSet NSLog i n 但是
  • 在另一种语言中使用 dateFormatter [重复]

    这个问题在这里已经有答案了 我正在运行一段返回的代码nil在具有不同语言设置的 iPhone 上运行时 代码示例如下所示 let dateFormatter DateFormatter dateFormatter dateFormat MM
  • 为什么我的 tableView 函数运行了 3 次?

    我有一个 UITableView 并且有执行它所需的方法之一 func tableView tableView UITableView numberOfRowsInSection section Int gt Int println sec
  • Swift 中通过不同类调用委托方法

    我正在获取 JSON 菜单 一旦 JSON 返回 我想运行 menuReady 来更新表的内容在 SomeTableViewController 类中 但下面的代码似乎不起作用 AIM Run 菜单就绪 JSON 返回后更新内容 PROBL

随机推荐

  • 自定义 .NET 序列化似乎不起作用

    我在用BinaryFormatter序列化类的对象集合A存储在一个System Collections Generic List
  • WP8 如何创建基页并使用它

    我用谷歌搜索过 但没有得到任何有用的资源 所以我决定询问 问题 我有一个Windows Phone 8 C XAML NET 4 5 应用程序 这将有几页 15 50 那是所有这些都将具有相似的外观 设置为 ViewModel 的一个实例的
  • 如何在运行时更改按钮的背景图像?

    我遇到了一个问题 我想在运行时更改按钮的背景图像 我找到了更改颜色的解决方案 但我想更改图像 代码如下 public void buttonCase object sender RoutedEventArgs e Uri uri null
  • 使用自制程序安装 pygame

    我正在尝试使用 Homebrew 安装适用于 Python3 的 pygame 我的机器上同时安装了 Python 2 和 Python 3 I used 这个 Reddit 页面 其中说 brew tap Homebrew python
  • 句柄与 AddHandler

    动态附加 分离事件处理程序有优势吗 手动分离处理程序是否有助于确保不存在对已处置对象的引用 我很确定Handles子句只是语法糖并插入一个AddHandler声明到你的构造函数中 我使用此代码进行了测试并禁用了应用程序框架 因此构造函数不会
  • 我应该如何替换新OpenCV中的FeatureDetector功能?

    我已经下载了Java OpenCV的示例代码 几行代码中有FeatureDetectore 编译器表示已弃用的方法 FeatureDetector detector FeatureDetector create FeatureDetecto
  • OSM数据解析以获取具有子节点的节点

    我下载了一个小区域的开放街道地图数据 我想过滤数据以获取具有特殊类别的节点 这是 OSM 数据的示例
  • 针对位于系统其他位置的存储库运行“git status”

    我知道我可以这样做 git git dir Z www proj web test sample repo cloned git status 但是 问题是该命令是从运行的proj文件夹 这意味着之前位于的所有文件sample repo c
  • Android 中的嵌套 Firestore 异步侦听器

    因此 我在几天的集合中有活动文档 我需要将所有活动合并到一个列表中 我认为我应该循环集合 然后循环活动 最后得到下面的代码 我不知道这是否是组合多个集合的最佳方法 更糟糕的是 我不知道我的列表何时准备好用于所有异步调用 有什么建议吗 谢谢
  • 在 for 中声明结构?

    Apple LLVM 9 1 0 与 clang 902 0 39 2 使用 std c11 接受 typedef struct int i float f S for S s 0 0 s i lt 25 s i s f i 10 f 但拒
  • 日期时间插入然后选择:序列不包含元素

    我在sql server中的表结构是 TableId int Pk identity Data string DateNTime DateTime 我的方法是 public int insertData string data Date D
  • 列出模型剃须刀视图

    我有一个应用程序 asp net mvc 在控制器中我有这个 public ActionResult Index Upload Models ClientModels model1 new Models ClientModels Array
  • 如何在隐藏“IdentityUser”的同时向业务层公开“UserManager”?

    我不想引用 EntityFramework 因此Identity EntityFramework以其IdentityUser在我的域中 但我想用UserManager of Identity Core它使用IUserStore
  • 为什么个人访问令牌不适用于 Bitbucket REST API?

    TL DR 为什么 在 Bitbucket Web UI 中创建的名称 PAT 组合不适用于 Bitbucket REST API 或存储库克隆 我一直在读various 文档在比特桶上REST API and 个人访问令牌 目的是在调用前
  • 我可以使用 Spring 注入同一个类吗?

    我有一个类 UserService 实现了 Service 并用 Service StereoType 进行了注释 我正在使用 Spring AOP 并且想要为此做临时解决方法 我知道这可以用更好的方式来完成 Service public
  • 一个接一个地打开链接

    我正在制作一个网站 每 30 秒打开一个新窗口 我让它正确打开新窗口 但我希望它在打开新窗口之前关闭最后打开的窗口 因此一次只打开一个窗口 我该怎么做 到目前为止 这是我的代码
  • 在 Matlab 中使用 interp2 并输入 NaN

    我有一些相对完整的观测数据 但在矩阵中包含一些 NaN 值matlab我想使用将它们插值到更均匀间隔的网格interp2 因此 为了简单起见 假设我有一个完整的 无 NaN 值 矩阵 以及一个看起来像这样的矩阵 A 1 2 3 4 2 3
  • Jquery 粘性菜单不被页脚捕获

    谁能帮我找出我的脚本的问题吗 function var top sidebar offset top parseFloat sidebar css marginTop replace auto 0 var footTop footer of
  • 获取当前目录下的文件列表

    我正在尝试获取一个脚本来读取脚本文件所在目录的内容 然后根据部分名称识别几个特定文件并压缩它们 但我无法得到object Files财产来工作 有人能告诉我这里出了什么问题吗 Set FSO CreateObject Scripting F
  • 迭代视图网格 SwiftUI

    我想获取一个可变长度的数组并返回一个包含 3 列和可变行长度的视图网格 视图应该根据数组值更新其内容 以下代码将为每张卡片呈现一个 CardPicView 在滚动视图中标题为 A I struct ContentView View let