【发布时间】:2021-03-14 21:16:39
【问题描述】:
我正在尝试使用 SwiftUI 为我的小部件动态构建视图。但是,当多个视图堆叠时,小部件不再起作用。 我想在一组获取的数据上循环我的小部件,如下所示:
VStack {
ForEach(entry.layers.indices) { index in
let layer = entry.layers[index]
Text(layer)
}
}
但是当 forEach 循环超过 5 次时,这不能正常工作(它只循环一次或两次时工作正常!)。我就此联系了 Apple Code Level Support,他们告诉我这是一个“错误”。查看我提供的示例项目:https://github.com/swifty-on-me/Widget-Example
这是我要渲染的数据:https://github.com/swifty-on-me/Widget-Example/blob/main/Data/FakeData.swift
我尝试了类似 converting a view to image 的方法,但该解决方案在 Extensions 中不起作用。
所以我在 Apple 开发者论坛上找到了这个“解决方法”,但我不确定如何实现它: https://developer.apple.com/forums/thread/665935
有人可以解释或指导我解决此问题吗? (我对 Swift(UI) 不太熟悉)
我已经在这个问题上搞砸了好多年了,我想我对这看似简单的任务要发疯了。
看这个例子(大约 28 秒)
【问题讨论】: