我正在List
内获取远程图像。这可以正常工作。
但是,如果我将代码放在ScrollView中,则无法正常工作
ScrollView {
HStack {
我提供了示例XCode 11-Beta SwiftUI project here。只需下载并运行。下载完成后,查看ContentView.swift
文件。 (参见图片)
注释不起作用的部分,并取消注释起作用的部分以查看区别。列表有效,但是scrollView失败。
知道为什么吗?
[更新]:
我现在将struct BuggedView
上的代码更改为以下代码:
struct BuggedView : View {
@ObjectBinding var viewModel = EventController.ViewModel()
var body: some View {
ZStack(alignment: .top) {
GeometryReader() { x in
ScrollView {
ForEach(0..<self.viewModel.events.count) { index in
EventComponent(event: self.viewModel.events[index]).padding(.top).frame(width: x.size.width)
}
}
}
List {
Spacer().frame(height: 183)
ForEach(0..<self.viewModel.events.count) { index in
EventComponent(event: self.viewModel.events[index]).padding(.top)
}
}.offset(x: 200, y: 0)
}//.frame(width:400, height: 400)
}
}
进行此更改后,您可以在屏幕上同时看到图像的两个版本。在更新的代码中,请注意我已注释掉一些框架代码。好吧,这是结果
也许是SwiftUI错误?
答案 0 :(得分:1)
几乎可以肯定,这是一个应向Apple报告的SwiftUI错误,应在某个时间点修复。 .frame修饰符应该没有效果,如您所见。