ios 使图像完全适合NavigationLink?

o75abkj4  于 2023-10-21  发布在  iOS
关注(0)|答案(1)|浏览(85)

我有一个Image

Image(img, scale:1.0, orientation:.right, label:self.label).resizable().aspectRatio(contentMode:.fit)

作为NavigationLink的目的地,但它不会占据整个屏幕:左右两边都留有余量如何使所有的横向空间占据?
(然而,当我删除NavigationLink并单独放置Image时,它确实占用了所有的水平空间。你在干什么?)
编辑:下面是代码的大致结构

NavigationView{
      Spacer()
      VStack{
        NavigationLink(
          destination:{
            VStack{
              Button("btn"){}.buttonStyle(.bordered)
              VideoView(img:self.video.img)
            }
          },
          label:{
            HStack{
              Text("view").font(.title)
            }
            .frame(minWidth:300, minHeight:70).foregroundColor(.white).background(.blue).cornerRadius(12)
        })

        NavigationLink(destination:{Text("view")}, label:{
          HStack{
            Text("view").font(.title)
          }
          .frame(minWidth:300, minHeight:70).foregroundColor(.white).background(.blue).cornerRadius(12)
        })
      }  // VStack
      .navigationTitle("title")
      Spacer()
    }

struct VideoView:View{
  var img:CGImage?
  let label = Text("video") 

  var body:some View{
    if let img = img{  Image(img, scale:1.0, orientation:.right, label:self.label).resizable().aspectRatio(contentMode:.fit)  }
    else{              Color.blue  }
  }
}

其中,VideoView旨在将iPhone的摄像头馈送呈现为CGImage,该馈送来自self.video.img

ugmeyewa

ugmeyewa1#

1.我猜你的设备当前的方向是landscape
1.您可以在NavigationLinkVStack {}下面添加这一行,以忽略SafeArea的水平边缘。

.ignoresSafeArea(.all, edges: .horizontal)

相关问题