VTabView is a native way to display paged vertical content in SwiftUI.
To work it makes use of the new iOS 14 TabView PageTabViewStyle.
Use like any other TabView:
import SwiftUI import VTabView VTabView { Text("The First Tab") .tabItem { Image(systemName: "square.fill") } Text("Another Tab") .tabItem { Image(systemName: "circle.fill") } Text("The Last Tab") .tabItem { Image(systemName: "triangle.fill") } } .tabViewStyle(PageTabViewStyle())
You can also move index to the right
VTabView(indexPosition: .trailing) { ... } .tabViewStyle(PageTabViewStyle())
or remove it
VTabView { ... } .tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
TabView bounces in all directions by default.
VTabView is meant to be used with .tabViewStyle(PageTabViewStyle()) but you can also use DefaultTabViewStyle.
Only remember that tab items will not have the orientation you would probably like to obtain.
A workaround for this would be in tabItem to not use Text but only an Image correctly transformed.
- In Xcode, open your project and navigate to File β Swift Packages β Add Package Dependency...
- Paste the repository URL (
https://github.com/lorenzofiamingo/swiftui-vertical-tab-view) and click Next. - Click Finish.