【发布时间】:2022-11-05 18:12:29
【问题描述】:
我构建以下视图:
NavigationView{
VStack(spacing: 120){
HStack{
Spacer()
NavigationLink(destination: LoginView()){
Image(systemName: "person.crop.circle")
.resizable()
.frame(width: 40, height: 40)
.foregroundColor(.primary)
.padding()
}
}
VStack{
Image("pic1")
.resizable()
.frame(width: 200, height: 160)
.padding()
Image(colorScheme == .dark ? "pic2" : "pic3")
.resizable()
.frame(width: 200, height: 65)
.padding()
}
Spacer(minLength: 250)
}
}
我需要这个 Spacer(minLength: 250) 来获取左上角的图像(圆圈)。但是当我这样做时,图像不能用作 NavigationLink。当我删除此 Spacer 时,所有内容都居中并且链接有效。我怎样才能把它放在我想要的位置并让链接工作?
【问题讨论】:
-
看起来您正试图在
toolbar中添加一些东西——您可能想调查一下。使用NavigationView,除非它被明确隐藏,否则视图的顶部保留给导航栏(和工具栏) -
您需要将登录按钮放入工具栏(如果您不想要工具栏,则放入右上角导航视图上方的叠加层)并以编程方式调用链接。接下来应该会有所帮助stackoverflow.com/a/63602455/12299030。