Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有cases而不是int-SwiftUI的TabBar_Swift_Swiftui - Fatal编程技术网

带有cases而不是int-SwiftUI的TabBar

带有cases而不是int-SwiftUI的TabBar,swift,swiftui,Swift,Swiftui,我试图重用一个问题中的一些旧代码,但它已经不起作用了,是不是在幕后发生了什么 当我使用应用程序时,选项卡栏会转到索引0而不是2。这是我当前的代码: struct iOS_TabBarView: View { @State private var selectedTab: HostingBarCategories = .Screen3 var body: some View { TabView(selection: $selectedTab) {

我试图重用一个问题中的一些旧代码,但它已经不起作用了,是不是在幕后发生了什么

当我使用应用程序时,选项卡栏会转到索引0而不是2。这是我当前的代码:

struct iOS_TabBarView: View {
    
    @State private var selectedTab: HostingBarCategories = .Screen3
    
    var body: some View {
        TabView(selection: $selectedTab) {
            Text("1")
                .tag(0)
                .tabItem {
                    Image(systemName: "pencil.and.outline")
                    Text("1")
                }
            Text("2")
                .tag(1)
                .tabItem {
                    Image(systemName: "checkmark")
                    Text("2")
                }
            Text("3")
                .tag(2)
                .tabItem {
                    Image(systemName: "calendar.circle.fill")
                    Text("3")
                }
            Text("4")
                .tag(3)
                .tabItem {
                    Image(systemName: "flame")
                    Text("4")
                }
            Text("5")
                .tag(3)
                .tabItem {
                    Image(systemName: "slider.horizontal.3")
                    Text("5")
                }
        }
    }
}
和HostingBar类别:

enum HostingBarCategories: Hashable, CaseIterable {
    case Screen1
    case Screen2
    case Screen3
    case Screen4
    case Screen5
    
    var string: String { String(describing: self) }
}
发生什么事了


谢谢

我认为标记和选择应该是相同的类型,所以请尝试

struct iOS_TabBarView: View {
    
    @State private var selectedTab: HostingBarCategories = .Screen3
    
    var body: some View {
        TabView(selection: $selectedTab) {
            Text("1")
                .tag(HostingBarCategories.Screen1)    // << like this for all !!

struct iOS\u选项卡视图:视图{
@状态私有变量selectedTab:HostingBarCategories=.Screen3
var body:一些观点{
选项卡视图(选择:$selectedTab){
文本(“1”)

.tag(HostingBarCategories.Screen1)//现在是iOS ro macOS问题吗?我现在正在使用iOS@AsperiWow工作!我尝试了所有的组合,除了那一个,典型的…哈哈哈谢谢!4分钟后我会接受的