{"id":19319755,"url":"https://github.com/hyperoslo/tabby","last_synced_at":"2025-04-22T17:32:15.010Z","repository":{"id":66286588,"uuid":"58523512","full_name":"hyperoslo/Tabby","owner":"hyperoslo","description":"⛩ A fancy tabbar","archived":false,"fork":false,"pushed_at":"2024-05-06T21:37:03.000Z","size":389,"stargazers_count":103,"open_issues_count":1,"forks_count":14,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-05-20T22:21:35.355Z","etag":null,"topics":["tabbar"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hyperoslo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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}},"created_at":"2016-05-11T07:32:03.000Z","updated_at":"2024-05-06T21:37:08.000Z","dependencies_parsed_at":"2024-05-06T22:45:16.011Z","dependency_job_id":null,"html_url":"https://github.com/hyperoslo/Tabby","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperoslo%2FTabby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperoslo%2FTabby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperoslo%2FTabby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hyperoslo%2FTabby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hyperoslo","download_url":"https://codeload.github.com/hyperoslo/Tabby/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223902215,"owners_count":17222331,"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":["tabbar"],"created_at":"2024-11-10T01:25:09.437Z","updated_at":"2024-11-10T01:25:10.288Z","avatar_url":"https://github.com/hyperoslo.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tabby\n\n⚠️ DEPRECATED, NO LONGER MAINTAINED\n\n`// TODO: Add the image here.`\n\n\u003cdiv align = \"center\"\u003e\n\u003cbr\u003e\n\u003ca href=\"https://github.com/Carthage/Carthage\" target=\"blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat\" /\u003e\u003c/a\u003e\n\u003ca href=\"http://cocoadocs.org/docsets/Tabby\" target=\"blank\"\u003e\u003cimg src=\"https://img.shields.io/cocoapods/v/Tabby.svg?style=flat\" /\u003e\u003c/a\u003e\n\u003ca href=\"http://cocoadocs.org/docsets/Tabby\" target=\"blank\"\u003e\u003cimg src=\"https://img.shields.io/cocoapods/l/Tabby.svg?style=flat\" /\u003e\u003c/a\u003e\n\u003ca href=\"http://cocoadocs.org/docsets/Tabby\" target=\"blank\"\u003e\u003cimg src=\"https://img.shields.io/cocoapods/p/Tabby.svg?style=flat\" /\u003e\u003c/a\u003e\n\u003ca href=\"http://cocoadocs.org/docsets/Tabby\" target=\"blank\"\u003e\u003cimg src=\"https://img.shields.io/cocoapods/metrics/doc-percent/Tabby.svg?style=flat\" /\u003e\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/badge/%20in-swift%202.2-orange.svg\" /\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003c/div\u003e\n\n## Description\n\n**Tabby** is the ultimate tab bar, a full substitution for those UITabBarControllers, UITabBars and UITabBarItems that are not customizable at all. **Tabby** has animations, behaviors and it has the easiness you would expect from any of our libraries.\n\n![sample](/Web/sample.gif)\n\n## Usage\n\n**Tabby** begins with a controller, the called `TabbyController`. That one has an initializer taking `TabbyBarItems`. Each item has a `controller`, an `image` and an `animation` that defaults to a constant.\n\nOnce you have created the array of items, you can initialize the `TabbyController` like so:\n\n```swift\nlet items = [\n  TabbyBarItem(controller: firstController, image: UIImage(named: \"first\")),\n  TabbyBarItem(controller: secondController, image: UIImage(named: \"second\"))\n]\n```\n\n```swift\nlet controller = TabbyController(items: items)\n```\n\n#### Customization\n\nAs stated before, there are lots of customization points in **Tabby**, you can find the [constants](https://github.com/hyperoslo/Tabby/blob/master/Sources/Library/Constant.swift#L3) file with fonts, colors and animations.\n\nA part from the typical constants, you'll be able to change the translucency, the indicator or the separator between the tab and the controller, with the possibility to add a shadow if you want.\n\n```swift\ncontroller.translucent = true\ncontroller.showSeparator = false\ncontroller.showIndicator = false\ncontroller.barVisible = false\n```\n\n##### Behaviors\n\n**Tabby** is built upon behaviors. As soon as we add more customization points within the source code, constants will emerge that will let you control more parts of the insights of **Tabby**. As for now, the first behavior dictates weather the title should be displayed, displayed only in the selected one, or not displayed at all.\n\nTo change that, you just set:\n\n`Tabby.Constant.Behavior.labelVisibility = .ActiveVisible`\n\n#### Animations\n\nThere are lots of default [animations](https://github.com/hyperoslo/Tabby/blob/master/Sources/Animations/TabbyAnimation.swift#L5) that you can use. We'll be adding more and more of those.\n\nThe default animations are:\n\n```swift\nPop, Flip, Morph, Shake, Swing, PushUp, PushDown, None\n```\n\n#### Delegates\n\nAs for now, there is one delegate method that informs you which button was just pressed. This will let you rebuild the tab bar, reload it, add different items, etc.\n\n```swift\nfunc tabbyButtonDidPress(index: Int)\n```\n\nBe sure to check our [demo](https://github.com/hyperoslo/Tabby/tree/master/Demo/TabbyDemo) if you have any further questions! :)\n\n## Installation\n\n**Tabby** is available through [CocoaPods](http://cocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod 'Tabby'\n```\n\n**Tabby** is also available through [Carthage](https://github.com/Carthage/Carthage).\nTo install just write into your Cartfile:\n\n```ruby\ngithub \"hyperoslo/Tabby\"\n```\n\n## Author\n\nMade by Hyper Oslo. Contact us at ios@hyper.no.\n\n## Contributing\n\nWe would love you to contribute to **Tabby**, check the [CONTRIBUTING](https://github.com/hyperoslo/Tabby/blob/master/CONTRIBUTING.md) file for more info.\n\n## License\n\n**Tabby** is available under the MIT license. See the [LICENSE](https://github.com/hyperoslo/Tabby/blob/master/LICENSE.md) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperoslo%2Ftabby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhyperoslo%2Ftabby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhyperoslo%2Ftabby/lists"}