RSTabBar

SwiftUI标准的TabView组件缺少来自UIKit的基本功能,例如在特定屏幕中隐藏TabBarRSTabBar旨在修复这个问题,同时保持与原始TabBar相同的外观和感觉。

要求

安装

RSTabBar 可以通过 Swift Package Manager 获得

Xcode > File > Swift Packages > Add Package Dependency > https://github.com/rursache/RSTabBar

用法

以下视图将有 2 个自定义选项卡,每个选项卡都有它们自己的Text视图

import SwiftUI
import RSTabBar

struct DemoView: View {
    static let tabs = [
        TabItem(index: 0, title: "Home", icon: "house", iconSelected: "house.fill"),
        TabItem(index: 1, title: "More", icon: "bolt.car")
    ]
    
    @State var tabBarVisible: Bool = true
    @State var tabs = DemoView.tabs
    @State var selectedTab: TabItem = DemoView.tabs.first!
    
    var body: some View {
        RSTabBar(tabs: $tabs, selectedTab: $selectedTab, tabBarVisible: $tabBarVisible) {
            Text("First view")
                .font(.title).bold()
                .padding()
                .tag(self.tabs[0])
                
            Text("Second view")
                .font(.title).bold()
                .padding()
                .tag(self.tabs[1])
        }
    }
}

隐藏选项卡栏很容易!只需将 tabBarVisible 设置为 false 即可

查看更高级的示例,以了解如何进一步自定义 RSTabBar

已知问题

贡献

如果您在使用中遇到任何问题,请随时提出 issue。 也欢迎提交 Pull requests,因为我还在学习 SwiftUI。

许可证

RSTabBar 遵循 MIT 许可证 的条款和条件。