{"id":22358804,"url":"https://github.com/darrarski/swiftui-tabs-view","last_synced_at":"2025-07-30T12:32:09.265Z","repository":{"id":39305103,"uuid":"448036690","full_name":"darrarski/swiftui-tabs-view","owner":"darrarski","description":"SwiftUI tabbed interface. Customizable replacement for `SwiftUI.TabView`.","archived":false,"fork":false,"pushed_at":"2022-01-25T12:17:20.000Z","size":2072,"stargazers_count":13,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-02T05:10:40.094Z","etag":null,"topics":["ios","swift-package","swiftui","tabbar","tabs","tabview"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darrarski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-14T16:38:06.000Z","updated_at":"2024-03-15T13:59:19.000Z","dependencies_parsed_at":"2022-09-06T23:54:06.388Z","dependency_job_id":null,"html_url":"https://github.com/darrarski/swiftui-tabs-view","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrarski%2Fswiftui-tabs-view","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrarski%2Fswiftui-tabs-view/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrarski%2Fswiftui-tabs-view/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrarski%2Fswiftui-tabs-view/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darrarski","download_url":"https://codeload.github.com/darrarski/swiftui-tabs-view/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228133616,"owners_count":17874511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","swift-package","swiftui","tabbar","tabs","tabview"],"created_at":"2024-12-04T15:17:52.873Z","updated_at":"2024-12-04T15:17:53.441Z","avatar_url":"https://github.com/darrarski.png","language":"Swift","funding_links":["https://www.buymeacoffee.com/darrarski"],"categories":[],"sub_categories":[],"readme":"# SwiftUI Tabs View\n\n![Swift 5.5](https://img.shields.io/badge/swift-5.5-orange.svg)\n![platform iOS 15 | macOS 12.1](https://img.shields.io/badge/platform-iOS_15_|_macOS_12-blue.svg)\n\nSwiftUI tabbed interface. Customizable replacement for `SwiftUI.TabView`.\n\n|iOS|macOS|\n|:-:|:-:|\n|![Example iOS app light mode](Misc/ExampleApp-iOS-light.gif#gh-light-mode-only)![Example iOS app dark mode](Misc/ExampleApp-iOS-dark.gif#gh-dark-mode-only)|![Example macOS app light mode](Misc/ExampleApp-macOS-light.gif#gh-light-mode-only)![Example macOS app dark mode](Misc/ExampleApp-macOS-dark.gif#gh-dark-mode-only)|\n\n- Build with vanilla `SwiftUI` (no external dependencies).\n- Replaces `SwiftUI.TabView`.\n- Allows wide customization.\n- Supports light and dark mode.\n- Tabbar hides below the keyboard, like with vanilla `SwiftUI.TabView`.\n\n## ▶️ Usage\n\nAdd as a dependecy to your project using [Swift Package Manager](https://www.swift.org/package-manager/).\n\nEmbed in your SwiftUI view:\n\n```swift\nimport SwiftUITabsView\n\nstruct ContentView: View {\n  var body: some View {\n    TabsView(\n      tabs: /* [Tab]  */,\n      selectedTab: /* Binding\u003cTab\u003e */,\n      barPosition: /* ToolbarPosition */,\n      ignoresKeyboard: /* Bool */,\n      frameChangeAnimation: /* Animation? */,\n      tabsBar: /* @ViewBuilder @escaping ([Tab], Binding\u003cTab\u003e) -\u003e TabsBar */,\n      content: /* @ViewBuilder @escaping (Tab) -\u003e TabContent */\n    )\n  }\n}\n```\n\nCheck out [documentation comments](Sources/SwiftUITabsView/TabsView.swift) and the included [example app](Example/ExampleApp/Example.swift).\n\nIf your tab's content view is embedded in `NavigationView`, use [tabsBarSafeAreaInset](Sources/SwiftUITabsView/TabsBarSafeAreaInsetViewModifier.swift) modifier to apply safe area insets that matches the tabs bar:\n\n```swift\nTabsView(\n  /* ... */\n  content: { tab in \n    NavigationView {\n      ContentView(for: tab)\n        .tabsBarSafeAreaInset()\n    }\n  }\n)\n```\n\n## 🛠 Development\n\nOpen `SwiftUITabsView.xcworkspace` in Xcode (≥13.1) for development.\n\nUse `ExampleApp-iOS` scheme to build and run the iOS example application.\n\nUse `ExampleApp-macOS` scheme to build and run the macOS example application.\n\n## ☕️ Do you like the project?\n\n\u003ca href=\"https://www.buymeacoffee.com/darrarski\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" align=\"right\" height=\"60\"/\u003e\n\u003c/a\u003e\n\nConsider supporting further development and buy me a coffee.\n\n\u0026nbsp;\n\n## 📄 License\n\nCopyright © 2022 Dariusz Rybicki Darrarski\n\nLicense: [MIT](LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrarski%2Fswiftui-tabs-view","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarrarski%2Fswiftui-tabs-view","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrarski%2Fswiftui-tabs-view/lists"}