图像在 Swiftui 中不与 AsyncImage 一起显示



我在TabView中有AsyncImage。当我这样做时,图像永远不会出现。我只看到进度条。

@可用(iOS 15.0,*(

结构TEST:视图{var body:some视图{

VStack {

TabView {


AsyncImage(url: URL(string: "https://blckbirds.com/wp-content/uploads/2021/10/pexels-kammeran-gonzalezkeola-6128227-2.jpg"), scale: 2) { image in
image
.resizable()
.aspectRatio(contentMode: .fill)
} placeholder: {
ProgressView()
.progressViewStyle(.circular)
}

}.tabViewStyle(PageTabViewStyle(indexDisplayMode: .automatic))

}//V

}

}

尝试使用ZStack来包装AsyncImage,就像这样,对我有效:

struct TEST: View {

var body: some View {
VStack {
TabView {
ZStack {   // <--- here
AsyncImage(url: URL(string: "https://blckbirds.com/wp-content/uploads/2021/10/pexels-kammeran-gonzalezkeola-6128227-2.jpg"), scale: 2) { image in
image
.resizable()
.aspectRatio(contentMode: .fill)
} placeholder: { ProgressView().progressViewStyle(.circular) }
}
}.tabViewStyle(PageTabViewStyle(indexDisplayMode: .automatic))
}
}

}

我是SwiftUI的新手。我复制了@workingdog support的代码,它运行得很好。但我认为预览有一些小故障,我不确定这是否是一个未知的问题。

使用原始代码,我只能看到加载视图,无论我关闭还是重新打开预览窗口。然后我为图像视图添加了一个框架。我可以通过将帧大小更改为其他大小,然后将其改回,例如300->350->300.

struct ExampleImgItem: View {
var body: some View { 
`workingdog support`'s code
}

struct ExampleImgItem_Previews: PreviewProvider {
static var previews: some View {
ExampleImgItem()
.frame(width: 300, height: 300, alignment: .leading)
}
}

P.S. I am using Xcode 13.3.1, 

遇到了同样的问题。我的解决方案是添加

.aspectRatio(CGSize(width: 6, height: 9), contentMode: .fill)
.scaledToFit()

到TabView。

相关内容

  • 没有找到相关文章

最新更新