A modular, version-adaptive custom tab bar for SwiftUI — one API from iOS 15 to iOS 26.
TabViewSwiftUI is a drop-in custom tab bar that automatically adapts to the OS version at runtime — it renders the native iOS 18/26 tab concept on newer systems and falls back to a fully custom tab bar on iOS 15–17. Tabs are described in a single, type-safe enum, so adding or reordering tabs is a one-line change. Use it as a starting point in personal or commercial projects.
- 🔀 Version-adaptive —
CustomTabViewpicks the right implementation per OS (iOS26AndAboveTabViewvsiOSVersionLessThan18TabView). - 🧱 Enum-driven tabs — a single
Tabsenum defines each tab's title, SF Symbol, and content. - 🎯 SF Symbols — crisp, scalable system icons out of the box.
- 🧩 Modular & reusable — clean separation under a dedicated
Tabbar/folder. - 🌙 Dark mode ready — previews and styling tuned for light and dark appearance.
git clone https://github.com/ahmetbostanciklioglu/TabViewSwiftUI.git
cd TabViewSwiftUI
open TabViewSwiftUI.xcodeprojThen select a simulator and press ⌘R to run.
Drop CustomTabView in as your root view and describe your tabs in the Tabs enum:
struct ContentView: View {
var body: some View {
CustomTabView()
}
}
enum Tabs: CaseIterable {
case home, favorites, settings, search
var title: String { /* ... */ }
var imageName: String { /* SF Symbol name */ }
var content: String { /* screen content */ }
}- iOS 15.0+
- Xcode 16+
- Swift 5.9+
Ahmet Bostancıklıoğlu — @ahmetbostanciklioglu · ahmetbostancikli@gmail.com
⭐ If this helped you, consider giving the repo a star!





