I have a RocketView View to view SpaceX rockets with the SpaceX API.
I have an issue with ZStack or VStack in the RocketCell View where the cell is not showing the whole image in the list. How can I make it so that the entire image is displayed?
import SwiftUI
struct RocketsView: View {
@ObservedObject var viewModel:RocketsViewModel = RocketsViewModel()
var body: some View {
GeometryReader { geometryReader in
NavigationView {
ZStack {
List(self.viewModel.presenters){ item in
RocketCell(presenter: item, geometryProxy: geometryReader)
}.onAppear(perform:{
self.viewModel.onAppear()
}).listStyle(PlainListStyle())
}.navigationBarTitle("Rocket",displayMode:.inline)
}
}
}
}
struct RrocketView_Previews: PreviewProvider {
static var previews: some View {
RocketsView()
}
}
struct RocketCell:View {
private var presenter :RocketPresenter!
private var geometryProxy : GeometryProxy
init(presenter:RocketPresenter,geometryProxy : GeometryProxy ){
self.presenter = presenter
self.geometryProxy = geometryProxy
}
var body: some View {
GeometryReader { geometry in
VStack(spacing:16){
KFImage(URL(string:self.presenter.image!))
.cancelOnDisappear(true)
.resizable()
.frame( width: self.geometryProxy.size.width,height: 200)
Text(self.presenter.name!)
}
}
}
}