{"id":25021240,"url":"https://github.com/bgeisb/tabify","last_synced_at":"2025-04-13T05:04:44.852Z","repository":{"id":178756015,"uuid":"583424360","full_name":"bgeisb/Tabify","owner":"bgeisb","description":"A SwiftUI view that elegantly utilizes interactive user interface elements to dynamically switch between multiple child views.","archived":false,"fork":false,"pushed_at":"2023-01-10T21:38:09.000Z","size":17,"stargazers_count":12,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T05:04:34.898Z","etag":null,"topics":["customizable","navigation","navigation-component","open-source","swift","swiftui","tabview","ui","ui-components"],"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/bgeisb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"bgeisb","custom":"https://www.buymeacoffee.com/bgeisb"}},"created_at":"2022-12-29T18:31:24.000Z","updated_at":"2024-04-21T08:35:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"cb04e54c-9e5d-4eee-abc6-45ee8a30e7d1","html_url":"https://github.com/bgeisb/Tabify","commit_stats":null,"previous_names":["bgeisb/tabify"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgeisb%2FTabify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgeisb%2FTabify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgeisb%2FTabify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bgeisb%2FTabify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bgeisb","download_url":"https://codeload.github.com/bgeisb/Tabify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665748,"owners_count":21142123,"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":["customizable","navigation","navigation-component","open-source","swift","swiftui","tabview","ui","ui-components"],"created_at":"2025-02-05T12:35:03.228Z","updated_at":"2025-04-13T05:04:44.846Z","avatar_url":"https://github.com/bgeisb.png","language":"Swift","funding_links":["https://github.com/sponsors/bgeisb","https://www.buymeacoffee.com/bgeisb"],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n\n\u003c!-- PROJECT HEADER --\u003e\n![tabify_banner](https://user-images.githubusercontent.com/36701166/211655185-1ac9fd7c-40f7-4cf4-9eba-07933b053b1b.png)\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n## Table of contents\n\n* [Description](#description)\n* [Requirements](#requirements)\n* [Installation](#installation)\n    * [Swift Package Manager](#swift-package-manager) \n    * [CocoaPods](#cocoapods)\n* [Usage](#usage)\n    * [1. Create TabifyItems Enum](#1-create-tabifyitems-enum)\n    * [2. Add Tabify View](#2-add-tabify-view)\n* [Contributing](#contributing)\n* [License](#license)\n\n\n\u003c!-- DESCRIPTION --\u003e\n## Description\n`Tabify` is a SwiftUI view that elegantly utilizes interactive user interface elements to dynamically switch between multiple child views.\nIt is highly customizable and, due to its similarity to the native `TabView` SwiftUI component, very user-friendly and easy to use.\n\n\n\u003c!-- REQUIREMENTS --\u003e\n## Requirements\n\n- SwiftUI\n- iOS 13.0 or above\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- Installation --\u003e\n## Installation\n\n### Swift Package Manager\n\nThe preferred way of installing `Tabify` is via the [Swift Package Manager](https://swift.org/package-manager/).\n\n1. In Xcode, open your project and navigate to **File** → **Add Packages**\n2. Paste the repository URL (`https://github.com/bgeisb/Tabify.git`) and click **Next**.\n3. For **Rules**, select **Up to Next Major Version**.\n4. Click **Add Package**.\n\n### CocoaPods\n\n⏳ Coming soon...\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Usage --\u003e\n## Usage\n\n### 1. Create TabifyItems Enum\n\n\u003e Make sure your enum implements the `TabifyItem` protocol.\n\n```swift\nenum TabifyItems: Int, TabifyItem {\n    case home = 0\n    case search\n    case profile\n    \n    var icon: String {\n        switch self {\n            case .home: return \"house\"\n            case .search: return \"magnifyingglass\"\n            case .profile: return \"person\"\n        }\n    }\n    \n    var title: String {\n        switch self {\n            case .home: return \"Home\"\n            case .search: return \"Search\"\n            case .profile: return \"Profile\"\n        }\n    }\n}\n```\n\n### 2. Add Tabify View\n\n```swift\nTabify(selectedItem: $tabBarSelection) {\n    Text(\"Home\")\n    .tabItem(for: TabifyItems.first)\n\n    Text(\"Search\")\n    .tabItem(for: TabifyItems.second)\n\n    Text(\"Profile\")\n    .tabItem(for: TabifyItems.third)\n}\n/* This following modifiers are optional. You can use them to inject your custom bar and item styling. */\n.barStyle(style: CustomTabifyBarStyle())\n.itemStyle(style: CustomTabifyItemStyle())\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply [open an issue](https://github.com/bgeisb/Tabify/issues/new) with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/bgeisb/Tabify.svg?style=for-the-badge\n[contributors-url]: https://github.com/bgeisb/Tabify/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/bgeisb/Tabify.svg?style=for-the-badge\n[forks-url]: https://github.com/bgeisb/Tabify/network/members\n[stars-shield]: https://img.shields.io/github/stars/bgeisb/Tabify.svg?style=for-the-badge\n[stars-url]: https://github.com/bgeisb/Tabify/stargazers\n[issues-shield]: https://img.shields.io/github/issues/bgeisb/Tabify.svg?style=for-the-badge\n[issues-url]: https://github.com/bgeisb/Tabify/issues\n[license-shield]: https://img.shields.io/github/license/bgeisb/Tabify.svg?style=for-the-badge\n[license-url]: https://github.com/bgeisb/Tabify/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/bgeisberger\n[product-screenshot]: images/screenshot.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbgeisb%2Ftabify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbgeisb%2Ftabify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbgeisb%2Ftabify/lists"}