不改变视图的 SwiftUI 中的 TabView
创始人
2024-12-24 14:01:24
0

在 SwiftUI 中,TabView 默认情况下会根据所选的选项更改视图。如果要在不更改视图的情况下更新选项,可以使用 tag(_:selection:) 修饰符并将其与 @State 属性一起使用。以下是一个包含代码示例的解决方法:

import SwiftUI

struct ContentView: View {
    @State private var selectedTab: Int = 0
    
    var body: some View {
        VStack {
            TabView(selection: $selectedTab) {
                Text("Tab 1")
                    .tabItem {
                        Image(systemName: "1.circle")
                        Text("Tab 1")
                    }
                    .tag(0)
                
                Text("Tab 2")
                    .tabItem {
                        Image(systemName: "2.circle")
                        Text("Tab 2")
                    }
                    .tag(1)
                
                Text("Tab 3")
                    .tabItem {
                        Image(systemName: "3.circle")
                        Text("Tab 3")
                    }
                    .tag(2)
            }
            .tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
            
            Button("Next Tab") {
                selectedTab = (selectedTab + 1) % 3
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

在这个示例中,我们使用 @State 属性 selectedTab 来跟踪选定的选项。我们将 TabViewselection 参数绑定到 selectedTab 属性上。然后,我们使用 .tag(_:selection:) 修饰符为每个选项分配一个唯一的标识符,并将其与对应的选项绑定。这样,当我们在 Button 中更改 selectedTab 的值时,TabView 会自动更新选定的选项,但不会更改当前显示的视图。

相关内容

热门资讯

微乐小程序真的有挂!微乐小程序... 微乐小程序真的有挂!微乐小程序微乐房间怎么开挂(开挂)挂-都是关于真的是有挂在进入软件靠谱后,参与本...
微信小程序微乐破解器!微信小程... 微信小程序微乐破解器!微信小程序游戏辅助器(开挂)攻略-总是普及是真的挂1、每一步都需要思考,不同水...
微信小程序黑科技免费!微乐小程... 微信小程序黑科技免费!微乐小程序礼包码(开挂)方法-确实科普真的有挂1、免费脚本咨询教程、免费脚本弱...
微乐小程序存在有挂!微乐家乡官... 微乐小程序存在有挂!微乐家乡官方免费下载安装(开挂)攻略-一直科普存在有挂1、模拟器是什么优化,俱乐...
微乐小程序存在有挂!微乐手游辅... 微乐小程序存在有挂!微乐手游辅助脚本平台(开挂)app-一直开挂是有挂1、破解器简单,机器人操作,插...
微信小程序黑科技免费!微乐自建... 微信小程序黑科技免费!微乐自建房辅助工具在哪(开挂)神器-切实透视是有挂1. 选牌创建新账号,点击进...
微乐小程序存在有挂!微信小程序... 微乐小程序存在有挂!微信小程序有挂吗辅助(开挂)攻略-一直透视是有挂是不是有人用挂微扑克wpk插件教...
微乐小程序透视辅助!微信小程序... 微乐小程序透视辅助!微信小程序修改器(开挂)神器-其实解密是有挂是不是有人用挂微扑克wpk插件教程:...
微乐小程序真的有挂!微信小程序... 微乐小程序真的有挂!微信小程序微乐辅助器破解版(开挂)教程-切实科普存在有挂1、微乐小程序真的有挂!...
微乐小程序黑科技!微乐卡五星有... 微乐小程序黑科技!微乐卡五星有挂吗(开挂)app-确实揭露是真的挂1、下载好脚本下载之后点击打开,先...