[英]How to expand a NavigationView to full screen from a TabView with fixed dimensions?
我有一个结合了两个视图的VStack
。 一个是常规的Rectangle
,另一个是通过其他矩形旋转的TabView
。 其中一个矩形就像一个NavigationView
视图中的按钮,它向用户呈现日历。
在我当前的代码中,日历与TabView
保持相同的大小,但我希望日历扩展到全屏(删除绿色矩形并转到完全不同的视图)。 怎么能做到这一点?
当前代码
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Rectangle()
.cornerRadius(15)
.foregroundColor(Color.green)
.frame(width: .infinity, height: 250)
TabView {
Rectangle()
.cornerRadius(15)
.foregroundColor(Color.blue)
.frame(width: .infinity, height: 300)
Rectangle()
.cornerRadius(15)
.foregroundColor(Color.black)
.frame(width: .infinity, height: 300)
NavigationView {
NavigationLink(destination: CalendarView()) {
Text("Tap for calendar.")
}
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .always))
.indexViewStyle(.page(backgroundDisplayMode: PageIndexViewStyle.BackgroundDisplayMode.always))
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
原来你只需要将整个东西包装在NavigationView
中......
mport SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
VStack {
Rectangle()
.cornerRadius(15)
.foregroundColor(Color.green)
.frame(width: .infinity, height: 250)
TabView {
Rectangle()
.cornerRadius(15)
.foregroundColor(Color.blue)
.frame(width: .infinity, height: 300)
Rectangle()
.cornerRadius(15)
.foregroundColor(Color.black)
.frame(width: .infinity, height: 300)
NavigationView {
NavigationLink(destination: CalendarView()) {
Text("Tap for calendar.")
}
}
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .always))
.indexViewStyle(.page(backgroundDisplayMode: PageIndexViewStyle.BackgroundDisplayMode.always))
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.