StatefulTabView SwiftUI标签页状态保留与定制化配置

状态保留的 Tab 切换在 SwiftUI 里一直是个小痛点,StatefulTabView就挺好地了这个问题。每个标签页的状态都能完整保留,不会因为切换而重置,像是滚动位置、输入内容,全都还在,体验丝滑。

直接基于UITabBarController封装,SwiftUI 项目里用起来也顺手。支持 iOS 13+,配合Swift Package Manager引入也方便,代码维护得还不错,master 分支始终是最新版本。

除了状态保留,它在TabBar 外观定制上也给了挺多自由度:自定义色调、背景色、图标、标题都能改。想做个风格统一的 App UI,不用再手动绕一大圈。

使用上也简单,比如设置当前选中的标签只要传个@State变量进去就行:

@State private var selectedTab = 0

var body: some View { StatefulTabView(selection: $selectedTab) { Text("首页").tabItem { Image(systemName: "house") Text("Home") }.tag(0)

Text("设置").tabItem { Image(systemName: "gear") Text("Settings") }.tag(1) } }

嗯,如果你做的是多标签的 App,而且用户在标签页之间来回切换还内容不丢,这库真的挺香的。

提醒一下,安装方式是通过 Swift Package Manager 加 https://github.com/NicholasBellucci/StatefulTabView,选 master 分支就好,Xcode 11.2+ 能跑。

zip 文件大小:24.43KB