SwiftUI NavigationView和NavigationLink更改自定义视图的布局

SwiftUI NavigationView和NavigationLink更改自定义视图的布局,swiftui,navigationview,Swiftui,Navigationview,我有一个DetailView(),它显示图像、文本,然后是显示图像位置的地图。在my ContentView()中,我有一个NavigationView和NavigationLink,可以从主视图转到自定义视图。一切正常,只是我的DetailView()的对齐方式没有像查看DetailView()预览时那样正确对齐。文字说明显示在图片下方。我花了两天的时间想弄明白这一点,但到目前为止还没有 ===============================我的详细视图() 结构映射视图:UIVie

我有一个DetailView(),它显示图像、文本,然后是显示图像位置的地图。在my ContentView()中,我有一个NavigationView和NavigationLink,可以从主视图转到自定义视图。一切正常,只是我的DetailView()的对齐方式没有像查看DetailView()预览时那样正确对齐。文字说明显示在图片下方。我花了两天的时间想弄明白这一点,但到目前为止还没有

===============================我的详细视图()

结构映射视图:UIViewRepresentable{ // 1. func makeUIView(上下文:UIViewRepresentableContext)->MKMapView{ MKMapView(帧:.0) } // 2. func updateUIView(uiView:MKMapView,context:UIViewRepresentableContext){ // 3. 让位置=CLLocationCoordinate2D(纬度:30.478340, 经度:-90.037687) // 4. 设span=MKCoordinateSpan(相对偏差:0.05,纵向偏差:0.05) let region=MKCoordinateRegion(中心:位置,跨度:跨度) uiView.setRegion(区域,动画:true) // 5. let annotation=MKPointAnnotation() annotation.coordinate=位置 annotation.title=“Abita Springs” annotation.subtitle=“路易斯安那州” uiView.addAnnotation(注释) } } 结构详细视图:视图{ 让图片:字符串 var body:一些观点{ VStack(间距:-50.0){ //图片和标题 ZStack(对齐:。底部){ //形象 图像(图片) .可调整大小() .aspectRatio(内容模式:.fit) 矩形() .框架(高度:80) .不透明度(0.25) .模糊(半径:10) HStack{ VStack(对齐:。前导,间距:8.0){ 文本(“爱丁堡”) .foregroundColor(.黄色) .font(.largeTitle) } .padding(.leading) .padding(.bottom) 垫片() } }.edgesIgnoringSafeArea(.top) VStack{ //描述 正文("爱丁堡是苏格兰紧凑、多山的首府。它有一个中世纪的老城和优雅的格鲁吉亚新城,有花园和新古典主义建筑。城市上空隐约可见的是爱丁堡城堡,是苏格兰统治者加冕礼上使用的苏格兰皇冠宝石和命运之石的所在地。亚瑟的所在地是霍利罗德公园内一座雄伟的山峰,拥有全景尽收眼底,卡尔顿山的顶部是纪念碑和纪念物。”) .font(.body) .lineLimit(9) .线间距(5.0) .padding() //.帧(最大高度:310) } 垫片() //位置图 VStack{ 地图视图() .edgesIgnoringSafeArea(.all) .padding(.top) .帧(最大高度:310) //图像(系统名:“人”) .padding(.top) } } } } 我改变了

NavigationLink(destination: DetailView(picture: "dunnottar-castle")) {


它的工作原理与我现在想要的一样。

如果您只想拥有正常的布局,还可以使用:

NavigationLink(destination: DetailView(picture: "dunnottar castle").navigationBarHidden(true)) 
NavigationLink(destination: DetailView(picture: "dunnottar-castle")) {
NavigationLink(destination: DetailView(picture: "dunnottar castle").edgesIgnoringSafeArea(.all)) {
NavigationLink(destination: DetailView(picture: "dunnottar castle").navigationBarHidden(true))