远程图像使用 List 正确加载,但在使用带有嵌入式 VStack 的 ScrollView 和 SwiftUI 时不加载
Posted
技术标签:
【中文标题】远程图像使用 List 正确加载,但在使用带有嵌入式 VStack 的 ScrollView 和 SwiftUI 时不加载【英文标题】:Remote Image loads correctly using List, but does not load when using ScrollView with embeded VStack with SwitUI 【发布时间】:2019-06-25 16:46:14 【问题描述】:我正在获取List
中的远程图像。这可以正常工作。
但是,如果我将代码放在 ScrollView 中,它就不起作用
ScrollView
HStack
我提供了示例 XCode 11-Beta SwiftUI project here。只需下载并运行。下载后,查看ContentView.swift
文件。 (见图)
评论无效的部分,取消评论有效的部分以查看差异。 List 有效,但 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 错误?
【问题讨论】:
项目中的两个示例都对我有用。 (注意:我确实删除了所有的 cmets,因为它们在我打开的版本中似乎格式不正确) 我不明白这是怎么回事。它根本不适合我。我正在使用 XCode11-Beta-1 但是说真的,反对票是怎么回事? 我无缘无故地获得了更多的反对票...... *** 有机器人吗?有没有办法知道谁投了反对票?为什么他们不能升级用户必须为不赞成票留下理由?这是愚蠢的。我想我会删除这个问题。 【参考方案1】:这几乎可以肯定是向 Apple 报告的 SwiftUI 错误,应该在某个时候修复。 .frame 修饰符应该没有你看到的效果。
【讨论】:
在 beta3 中修复的问题以上是关于远程图像使用 List 正确加载,但在使用带有嵌入式 VStack 的 ScrollView 和 SwiftUI 时不加载的主要内容,如果未能解决你的问题,请参考以下文章
图像在 Chrome 选项卡上加载正常,但在 React 代码中返回 403
图像大小在 JAR 中返回 -1,但在 IDE 中返回正确大小。通过 Toolkit 加载的图像....createImage(url)
iOS为带有嵌入推文的html字符串计算正确的WKWebview高度
带有图像的 flexbox 在 Safari 中无法正确查看