选项卡视图在iOS13 SwiftUI上无法正常工作
我创建了一个包含4个项目的选项卡视图,但在iOS 13.x中,只有第一个视图显示正确。 当我单击另一个项目的图标时,视图显示不正确,但应用程序仅显示白色视图。如果我在iOS>14上运行应用程序,我可以正确查看所有视图 TabView实现:选项卡视图在iOS13 SwiftUI上无法正常工作,ios,view,swiftui,ios13,tabview,Ios,View,Swiftui,Ios13,Tabview,我创建了一个包含4个项目的选项卡视图,但在iOS 13.x中,只有第一个视图显示正确。 当我单击另一个项目的图标时,视图显示不正确,但应用程序仅显示白色视图。如果我在iOS>14上运行应用程序,我可以正确查看所有视图 TabView实现: struct ContentView: View { private enum Tab: Hashable { case discovery case qrcode case devices case
struct ContentView: View {
private enum Tab: Hashable {
case discovery
case qrcode
case devices
case settings
}
@State private var selectedTab: Tab = .discovery
var body: some View {
NavigationView {
TabView(selection: $selectedTab) {
DiscoveryView()
.tabItem {
VStack {
Image(systemName: "lock.rotation.open")
Text("Discovery")
}
}
.tag(0)
QrCodeView()
.tabItem {
VStack {
Image(systemName: "qrcode.viewfinder")
Text("QrCode")
}
}
.tag(1)
DevicesView()
.tabItem {
VStack {
Image(systemName: "qrcode.viewfinder")
Text("My devices")
}
}
.tag(2)
SettingsView()
.tabItem {
VStack {
Image(systemName: "gear")
Text("Settings")
}
}
.tag(3)
}
}
}
落实其中一项意见:
struct QrCodeView: View {
var body: some View {
Text("QrCode")
}
}
我哪里做错了?这可能是选择
的原因<代码>选择
和标记
类型应该相同,因此请尝试
@State private var selectedTab: Tab = .discovery
var body: some View {
NavigationView {
TabView(selection: $selectedTab) {
DiscoveryView()
.tabItem {
VStack {
Image(systemName: "lock.rotation.open")
Text("Discovery")
}
}
.tag(.discovery) // << here !!
QrCodeView()
.tabItem {
VStack {
Image(systemName: "qrcode.viewfinder")
Text("QrCode")
}
}
.tag(.qrcode) // << here !!
// ... others the same
@State private var selectedTab:Tab=.discovery
var body:一些观点{
导航视图{
选项卡视图(选择:$selectedTab){
发现视图()
.tabItem{
VStack{
图像(系统名称:“锁定.旋转.打开”)
文本(“发现”)
}
}
.tag(.discovery)//