【发布时间】:2020-12-27 14:13:18
【问题描述】:
这大概是我的代码的样子。这样你就知道我在做什么了。在父视图中,我有另一个用户可以单击并选择的电视频道列表。之后,用户可以执行 DragUp 手势并显示 ListOfChildren。每个孩子都持有一个图像,该图像是从 web 动态加载的。每个电视频道都有大约 10 个孩子,它必须下载并显示该图像。这就是为什么我只想在用户执行 DragUp 手势以显示 ListOfChildren 时才允许下载和显示图像。
我怎样才能从家长那里通知孩子,它可以开始下载图片了?
struct Child : View {
@State var imageURL: URL
@State var isAllowedToDownloadImage: bool
var body : some View {
// if(isAllowedToDownloadImage) { <- I want to notify child from parent, that
// child is allowed to download and display image
URLImage(url: imageURL)
//}
}
}
struct ListOfChildren : View {
@State var children: [Child] = [Child]()
var body : some View {
ScrollView(.horizontal) {
HStack {
ForEach(children) { child in
Child(imageURL: child.image)
}
}
}
}
}
struct Parent : View {
var body : some View {
ListOfChildren
// with drag gesture I show ListOfChildren and after it's shown
// I want to notify child that's it's allowed to download and display image
// DragGesture()...
}
}
【问题讨论】:
-
您可以在他们之间分享和
ObservableObject,developer.apple.com/documentation/swiftui/… -
谢谢!我在你的帮助下添加了一个解决方案!
标签: image asynchronous dynamic swiftui scrollview