I'm started to SwiftUI and I have problem, after switching view, their is gap between The top of my page and I can't solve it !
I want this (img1): img1 but I have that (img2): img2
How I can solve it ?
That is my code : file : AllNewsDescriptionView:
import SwiftUI
struct AllNewsDescriptionView: View {
var AllNews: AllNews
@State private var like = false
@State private var dislike = false
var body: some View {
VStack {
Image(AllNews.image)
.resizable()
.frame(height: 200.0)
Text(AllNews.name)
.font(.title)
.fontWeight(.bold)
.foregroundColor(Color.black)
.multilineTextAlignment(.center)
.padding(.vertical)
Text(AllNews.description)
.font(.footnote)
.fontWeight(.heavy)
.multilineTextAlignment(.center)
Text(AllNews.articleContenu)
.font(.footnote)
.multilineTextAlignment(.center)
.padding(.top)
Spacer()
Button(like ? "✅" : "J'aime cette article"){
like.toggle()
}
.buttonStyle(.bordered)
.tint(Color.blue)
.foregroundColor(Color.black)
}
.padding()
}
}
struct AllNewsDescriptionView_Previews: PreviewProvider {
static var previews: some View {
AllNewsDescriptionView(AllNews: AllNews.list[0])
}
}
file : AllNews
import Foundation
struct AllNews : Identifiable {
let id = UUID()
let name: String
let image: String
let description: String
let articleContenu: String
}
extension AllNews {
static let list : [AllNews] = [
AllNews(name: "ARTEMIS I lancé", image: "actu1", description: "La fusée a enfin décollé après de multiples revers", articleContenu: "Dans le cadre de la mission Artemis I, le SLS transportera le vaisseau spatial Orion en orbite terrestre, où il parcourra environ 64 000 kilomètres (40 000 miles) au-delà de la Lune au cours d'une mission de quatre à six semaines. Cette semaine, la NASA a placé sa mission Capstone CubeSat sur une orbite de halo presque rectiligne (Near-rectilinear halo orbit, en anglais) autour de la Lune. C'est l'orbite sur laquelle la station spatiale Gateway sera placée pour soutenir les missions Artemis II et l'exploration de l'espace lointain. Cette orbite offrira une ligne de vue continue de la Terre, permettant une communication ininterrompue entre la Terre et la Lune. Environ trois minutes après le décollage, le carénage du module de service et le système d'interruption de lancement se sont séparés du vaisseau spatial Orion. L'étage central du SLS a continué à tirer jusqu'à environ huit minutes après le lancement, où il a atteint l'orbite terrestre basse. A 1h56, le moteur principal de l'étage central du SLS s'est éteint et l'étage central s'est séparé de l'étage intermédiaire de propulsion cryogénique et du vaisseau spatial Orion."),
AllNews(name: "Métamorphose de la conquête spatiale", image: "actu2", description: "l’espace est aujourd’hui en pleine évolution avec des innovations émergentes", articleContenu: "À ses débuts et pendant les longues années qui ont suivi, la conquête spatiale était menée par les États eux-mêmes. Premier homme en orbite, premier homme qui effectue une sortie extravéhiculaire, premier homme sur la Lune… Les records étaient alors établis par les pays, principalement les États-Unis et l’URSS qui, en pleine guerre froide, se livraient une bataille sans merci pour « être le premier à ». Depuis, le secteur spatial a incroyablement changé. S’il est vrai que, même à l’époque d’Apollo, la NASA collaborait avec des entreprises pour la conception de ses lanceurs, satellites, etc., elle était beaucoup plus impliquée dans les efforts de développement des différents engins et était, dans la majorité des cas, la seule entité pouvant décider du programme, de ses objectifs et des modalités d’une mission. Aujourd’hui, pour plusieurs raisons, le secteur spatial s’est métamorphosé, en partie grâce aux avancées technologiques.")
]
}
and file : HomeView
import Foundation
struct AllNews : Identifiable {
let id = UUID()
let name: String
let image: String
let description: String
let articleContenu: String
}
extension AllNews {
static let list : [AllNews] = [
AllNews(name: "ARTEMIS I lancé", image: "actu1", description: "La fusée a enfin décollé après de multiples revers", articleContenu: "Dans le cadre de la mission Artemis I, le SLS transportera le vaisseau spatial Orion en orbite terrestre, où il parcourra environ 64 000 kilomètres (40 000 miles) au-delà de la Lune au cours d'une mission de quatre à six semaines. Cette semaine, la NASA a placé sa mission Capstone CubeSat sur une orbite de halo presque rectiligne (Near-rectilinear halo orbit, en anglais) autour de la Lune. C'est l'orbite sur laquelle la station spatiale Gateway sera placée pour soutenir les missions Artemis II et l'exploration de l'espace lointain. Cette orbite offrira une ligne de vue continue de la Terre, permettant une communication ininterrompue entre la Terre et la Lune. Environ trois minutes après le décollage, le carénage du module de service et le système d'interruption de lancement se sont séparés du vaisseau spatial Orion. L'étage central du SLS a continué à tirer jusqu'à environ huit minutes après le lancement, où il a atteint l'orbite terrestre basse. A 1h56, le moteur principal de l'étage central du SLS s'est éteint et l'étage central s'est séparé de l'étage intermédiaire de propulsion cryogénique et du vaisseau spatial Orion."),
AllNews(name: "Métamorphose de la conquête spatiale", image: "actu2", description: "l’espace est aujourd’hui en pleine évolution avec des innovations émergentes", articleContenu: "À ses débuts et pendant les longues années qui ont suivi, la conquête spatiale était menée par les États eux-mêmes. Premier homme en orbite, premier homme qui effectue une sortie extravéhiculaire, premier homme sur la Lune… Les records étaient alors établis par les pays, principalement les États-Unis et l’URSS qui, en pleine guerre froide, se livraient une bataille sans merci pour « être le premier à ». Depuis, le secteur spatial a incroyablement changé. S’il est vrai que, même à l’époque d’Apollo, la NASA collaborait avec des entreprises pour la conception de ses lanceurs, satellites, etc., elle était beaucoup plus impliquée dans les efforts de développement des différents engins et était, dans la majorité des cas, la seule entité pouvant décider du programme, de ses objectifs et des modalités d’une mission. Aujourd’hui, pour plusieurs raisons, le secteur spatial s’est métamorphosé, en partie grâce aux avancées technologiques.")
]
}
So The app is (img3 & 4) : img3 and when we click on one new, we come on The article but there is a gap and I need it gone. And if you know how I can use NavigationView on my article I'm here too ;) !
img4
Thanks you so much if you can help me <3
You need to set the navigation title display mode. The space you are seeing is the large navigation title inherited from the previous screen.
struct AllNewsDescriptionView: View {
var AllNews: AllNews
@State private var like = false
@State private var dislike = false
var body: some View {
VStack {
Image(AllNews.image)
.resizable()
.frame(height: 200.0)
Text(AllNews.name)
.font(.title)
.fontWeight(.bold)
.foregroundColor(Color.black)
.multilineTextAlignment(.center)
.padding(.vertical)
Text(AllNews.description)
.font(.footnote)
.fontWeight(.heavy)
.multilineTextAlignment(.center)
Text(AllNews.articleContenu)
.font(.footnote)
.multilineTextAlignment(.center)
.padding(.top)
Spacer()
Button(like ? "✅" : "J'aime cette article"){
like.toggle()
}
.buttonStyle(.bordered)
.tint(Color.blue)
.foregroundColor(Color.black)
}.padding()
.navigationBarTitleDisplayMode(.inline)
}
}