{"id":2816,"url":"https://github.com/EzimetYusup/WormTabStrip","last_synced_at":"2025-08-03T12:31:18.694Z","repository":{"id":56927634,"uuid":"72970187","full_name":"EzimetYusup/WormTabStrip","owner":"EzimetYusup","description":"🐛  WormTabStrip ViewPager for iOS written in Swift, which gives continuous feedback to the user when scrolling","archived":false,"fork":false,"pushed_at":"2022-04-14T15:23:36.000Z","size":23030,"stargazers_count":187,"open_issues_count":9,"forks_count":33,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-12-02T00:02:28.448Z","etag":null,"topics":["ios","ios-viewpager","scrollview","slider","slidingtablayout","slidingtabstrip","smarttabstrip","smarttapstrip","swift","swift-viewpager","swipable","tabstrip","viewpager","viewpager-indicator","worm-tab-strip"],"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/EzimetYusup.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":"2016-11-06T04:35:00.000Z","updated_at":"2024-10-24T06:20:17.000Z","dependencies_parsed_at":"2022-08-20T23:30:43.761Z","dependency_job_id":null,"html_url":"https://github.com/EzimetYusup/WormTabStrip","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EzimetYusup%2FWormTabStrip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EzimetYusup%2FWormTabStrip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EzimetYusup%2FWormTabStrip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EzimetYusup%2FWormTabStrip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EzimetYusup","download_url":"https://codeload.github.com/EzimetYusup/WormTabStrip/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228543143,"owners_count":17934432,"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","ios-viewpager","scrollview","slider","slidingtablayout","slidingtabstrip","smarttabstrip","smarttapstrip","swift","swift-viewpager","swipable","tabstrip","viewpager","viewpager-indicator","worm-tab-strip"],"created_at":"2024-01-05T20:16:23.599Z","updated_at":"2024-12-07T00:30:58.483Z","avatar_url":"https://github.com/EzimetYusup.png","language":"Swift","funding_links":[],"categories":["UI"],"sub_categories":["Tab Bar","Other free courses"],"readme":"# Worm Tab Strip\nWorm Tab Strip is inspired by android [SmartTabStrip](https://github.com/ogaclejapan/SmartTabLayout), android  view pager like library for iOS written in swift.\n\nBasically it was build up by two scroll view, one at the top for holding all the tabs, one for content view for each tab.\nframe based, not auto layout constraint based.\n\n[![Swift Version][swift-imag-2.3]][swift-url]\n[![Swift Version][swift-image]][swift-url]\n[![License][license-image]][license-url]\n[![Platform](https://img.shields.io/cocoapods/p/LFAlertController.svg?style=flat)](http://cocoapods.org/pods/LFAlertController)\n\n## there are two styles of worm tab strip:\n\n* Bubble style:\n\n![alt text](https://github.com/EzimetYusup/WormTabStrip/blob/develop/bublle.gif) \n\n* Line style:\n\n![alt text](https://github.com/EzimetYusup/WormTabStrip/blob/develop/line.gif)\n\n## Current example build environment\nXCode 11.4\n\nSwift 5\n\n## Installation\n\n#### CocoaPods \n```\npod 'WormTabStrip', '~\u003e 1.0'\n```\n\n#### Manually\n1. Download and drop ```WormTabStrip.swift``` and ```WormTabStripButton.swift``` in your project.  \n2. Congratulations!  \n\n#### Looking for swift 2.3?\ncheckout brach [swift2.3](https://github.com/EzimetYusup/WormTabStrip/tree/swift2.3)\n\n## Usage example\nimplement the [WormTabStripDelegate](https://github.com/EzimetYusup/WormTabStrip/blob/master/WormTabStrip/WormTabStrip/WormLib/WormTabStrip.swift#L11) in your UIViewController then do\n```swift\nlet frame =  CGRect(x: 0, y: 40, width: self.view.frame.size.width, height: self.view.frame.size.height - 40)\nlet viewPager:WormTabStrip = WormTabStrip(frame: frame)\nself.view.addSubview(viewPager) //IMPORTANT!\nviewPager.delegate = self\nviewPager.eyStyle.wormStyel = .bubble\nviewPager.eyStyle.isWormEnable = true\nviewPager.eyStyle.spacingBetweenTabs = 15\nviewPager.eyStyle.dividerBackgroundColor = .red\nviewPager.eyStyle.tabItemSelectedColor = .yellow\n//default selected tab\nviewPager.currentTabIndex = 3\n//center the selected tab\nviewPager.shouldCenterSelectedWorm = true\nviewPager.buildUI()\n```\n## Need custom style? \n\ncheckout  [WormTabStripStylePropertyies](https://github.com/EzimetYusup/WormTabStrip/blob/master/WormTabStrip/WormTabStrip/WormLib/WormTabStrip.swift#L32) struct, give your custom style \n```swift \nviewPager.eyStyle.wormStyel = .line\nviewPager.eyStyle.isWormEnable = false\nviewPager.eyStyle.spacingBetweenTabs = 15\nviewPager.eyStyle.dividerBackgroundColor = .red\nviewPager.eyStyle.tabItemSelectedColor = .yellow\n...\n```        \nbefore you  you call \n```swift\nviewPager.buildUI() \n```\n### Available customization properties \n|Property|Description|\n|:--|:--|\n|wormStyel|style of the worm bubble or line|\n|kHeightOfWorm| worm height for line style|\n|kHeightOfWormForBubble| worm height for bubble style|\n|kHeightOfDivider| divider height between top scrollview and conent scrollview|\n|kHeightOfTopScrollView| Top scrollView height which hold all tabs|\n|kMinimumWormHeightRatio | minimum worm height Ratio, it should be less than 1|\n|kPaddingOfIndicator | Padding of tab button, from text to button each side|\n|spacingBetweenTabs | space between tab buttons|\n|isWormEnable| boolean, if false it will not animate worm|\n|tabItemDefaultFont| font for unSelected tab|\n|tabItemSelectedFont| font for selected tab|\n|tabItemDefaultColor| text color for unSelected tab|\n|tabItemSelectedColor| text color for selected tab|\n|WormColor| color for worm|\n|topScrollViewBackgroundColor | back ground color of top scroll view which hold all tabs|\n|contentScrollViewBackgroundColor| back ground color fo content scroll view|\n|dividerBackgroundColor | back ground color of divider view between top scroll view and content scroll view|\n\n\n## Apps using worm tab strip:\n [Bagdax News](https://itunes.apple.com/cn/app/baghdash-twry/id875137241?mt=8),\nscreen shots:\n\n![alt text](https://github.com/EzimetYusup/WormTabStrip/blob/develop/appUsingWorm.gif)\n\n## Contribute\n\nWe would love for you to contribute to **WormTabStrip**, check the ``LICENSE`` file for more info.\n\n## Meta\n\nEzimet Yusup – [Github](https://github.com/EzimetYusup) –\n\nDistributed under the MIT license. See ``LICENSE`` for more information.\n\n\n[swift-image]:https://img.shields.io/badge/swift-3.0-orange.svg\n[swift-imag-2.3]:https://img.shields.io/badge/swift-2.3-orange.svg\n[swift-url]: https://swift.org/\n[license-image]: https://img.shields.io/badge/License-MIT-blue.svg\n[license-url]: https://github.com/EzimetYusup/WormTabStrip/blob/master/LICENSE\n[travis-image]: https://img.shields.io/travis/dbader/node-datadog-metrics/master.svg?style=flat-square\n[travis-url]: https://travis-ci.org/dbader/node-datadog-metrics\n[codebeat-image]: https://codebeat.co/badges/c19b47ea-2f9d-45df-8458-b2d952fe9dad\n[codebeat-url]: https://codebeat.co/projects/github-com-vsouza-awesomeios-com\n\n## Stats\n![Alt](https://repobeats.axiom.co/api/embed/e612f41d0c8fcd289fe46649ce863a204c331aff.svg \"Repobeats analytics image\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEzimetYusup%2FWormTabStrip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEzimetYusup%2FWormTabStrip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEzimetYusup%2FWormTabStrip/lists"}