Skip to content

A library that allows you to easily create various styles of tab views. Supports iOS and macOS.

License

Notifications You must be signed in to change notification settings

jasudev/AxisTabView

Repository files navigation

AxisTabView for SwiftUI

A library that allows you to easily create various styles of tab views. Supports iOS and macOS.

Platforms iOS macOS instagram SPM MIT

Screenshot

Style Style Style
AxisTabView4.mov
AxisTabView-BeadStyle.mov

Example

https://fabulaapp.page.link/233

Usages

AxisTabView(selection: $selection, constant: ATConstant(axisMode: .bottom)) { state in
    ATBasicStyle(state, color: .blue)
} content: {
    Text("Tab 1")
        .tabItem(tag: 0, normal: {
            Text("Tab 1")
        }, select: {
            Text("Tab 1")
                .bold()
                .foregroundColor(Color.yellow)
        })
    Text("Tab 2")
        .tabItem(tag: 1, normal: {
            Text("Tab 2")
        }, select: {
            Text("Tab 2")
                .bold()
                .foregroundColor(Color.yellow)
        })
    Text("Tab 3")
        .tabItem(tag: 2, normal: {
            Text("Tab 3")
        }, select: {
            Text("Tab 3")
                .bold()
                .foregroundColor(Color.yellow)
        })
} onTapReceive: { selectionTap in
    /// Imperative syntax
    print("---------------------")
    print("Selection : ", selectionTap)
    print("Already selected : ", self.selection == selectionTap)
}

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, adding AxisTabView as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/jasudev/AxisTabView.git", .branch("main"))
]

Contact

instagram : @dev.fabula
email : [email protected]

License

AxisTabView is available under the MIT license. See the LICENSE file for more info.