make demo compilable on Xcode 11

This commit is contained in:
John Estropia
2020-08-27 09:50:12 +09:00
parent 8b3b947406
commit 1db91fcec3
2 changed files with 41 additions and 34 deletions

View File

@@ -44,33 +44,35 @@ extension Modern.PokedexDemo {
.id(pokemonDisplay)
}
ZStack {
if let pokemonForm = pokemonForm {
{ () -> AnyView in
if let pokemonForm = pokemonForm {
VStack(alignment: .leading) {
HStack {
Text(pokemonDisplay?.$displayName ?? pokemonForm.$name)
Spacer()
}
HStack {
self.view(for: pokemonForm.$pokemonType1)
if let pokemonType2 = pokemonForm.$pokemonType2 {
self.view(for: pokemonType2)
return AnyView(
VStack(alignment: .leading) {
HStack {
Text(pokemonDisplay?.$displayName ?? pokemonForm.$name)
Spacer()
}
HStack {
self.view(for: pokemonForm.$pokemonType1)
pokemonForm.$pokemonType2.map(self.view(for:))
Spacer()
}
Spacer()
}
Spacer()
}
Spacer()
)
}
}
else {
else {
Text(pokedexEntry?.$id ?? "")
.foregroundColor(Color(UIColor.placeholderText))
.fontWeight(.heavy)
.frame(maxWidth: .infinity)
}
return AnyView(
Text(pokedexEntry?.$id ?? "")
.foregroundColor(Color(UIColor.placeholderText))
.fontWeight(.heavy)
.frame(maxWidth: .infinity)
)
}
}()
}
.frame(maxWidth: .infinity)
}

View File

@@ -20,20 +20,25 @@ struct NetworkImageView: View {
// MARK: View
var body: some View {
if let image = self.imageDownloader.image {
Image(uiImage: image)
.resizable()
.aspectRatio(contentMode: .fit)
return AnyView(
Image(uiImage: image)
.resizable()
.aspectRatio(contentMode: .fit)
)
}
else {
Circle()
.colorMultiply(Color(UIColor.placeholderText))
.onAppear {
self.imageDownloader.fetchImage()
}
return AnyView(
Circle()
.colorMultiply(Color(UIColor.placeholderText))
.onAppear {
self.imageDownloader.fetchImage()
}
)
}
}