Изображение не отображается с AsyncImage в Swiftui
У меня есть AsyncImage внутри TabView. Когда я это делаю, изображение никогда не появляется. Я просто вижу индикатор выполнения.
@available(iOS 15.0, *)
struct TEST: View {var body: some View {
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
}
}
3 ответа
попробуйте использовать
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))
}
}
}
Получил ту же проблему. Мое решение состоит в том, чтобы добавить
.aspectRatio(CGSize(width: 6, height: 9), contentMode: .fill)
.scaledToFit()
в табвиев.
Я новичок в SwiftUI. я скопировал
С исходным кодом я могу видеть только загрузку, независимо от того, закрываю и снова открываю окно предварительного просмотра. Затем я добавил рамку для просмотра изображения. Я вижу, что изображение загружается правильно, изменив размер кадра на что-то другое, а затем изменив его обратно, например, 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,