{"id":18820796,"url":"https://github.com/coder-acjhp/uicwavetabbar","last_synced_at":"2025-04-13T23:34:20.647Z","repository":{"id":131076825,"uuid":"179500501","full_name":"Coder-ACJHP/UICWaveTabBar","owner":"Coder-ACJHP","description":"Awesome tabbarcontroller with water wave effect for IOS written with Swift 4","archived":false,"fork":false,"pushed_at":"2019-04-16T14:45:56.000Z","size":5931,"stargazers_count":20,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T14:09:25.759Z","etag":null,"topics":["animated-view","custom-view","swift","tabbar"],"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/Coder-ACJHP.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-04T13:14:20.000Z","updated_at":"2024-12-24T07:17:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"911f9523-90db-461c-be2f-a8fc6353b029","html_url":"https://github.com/Coder-ACJHP/UICWaveTabBar","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-ACJHP%2FUICWaveTabBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-ACJHP%2FUICWaveTabBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-ACJHP%2FUICWaveTabBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Coder-ACJHP%2FUICWaveTabBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Coder-ACJHP","download_url":"https://codeload.github.com/Coder-ACJHP/UICWaveTabBar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248797965,"owners_count":21163222,"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":["animated-view","custom-view","swift","tabbar"],"created_at":"2024-11-08T00:30:05.550Z","updated_at":"2025-04-13T23:34:20.633Z","avatar_url":"https://github.com/Coder-ACJHP.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UICWaveTabBar\nAwesome tabbar with water wave effect for IOS written with Swift 4, easy to use it's compatible with all kind of iPhone, iPod and iPads regarding home indicator of X device series in protrait and landscape modes.\n\n## Screen shots: \n\u003cdiv align=center\u003e\n    \u003cimg style=\"display: inline-block;\" src=\"https://github.com/Coder-ACJHP/UICWaveTabBarController/blob/master/UICWaveTabbar/Assets.xcassets/iPhone8.dataset/iPhone8.gif\"\u003e\n    \u003cimg style=\"display: inline-block;\" src=\"https://github.com/Coder-ACJHP/UICWaveTabBarController/blob/master/UICWaveTabbar/Assets.xcassets/iPhoneX.dataset/iPhoneX.gif\"\u003e\n    \u003cimg style=\"display: inline-block;\" src=\"https://github.com/Coder-ACJHP/UICWaveTabBar/blob/master/UICWaveTabbar/Assets.xcassets/TabBarScroll.dataset/TabBarScroll.gif\"\u003e\n    \u003cimg style=\"display: inline-block;\" src=\"https://github.com/Coder-ACJHP/UICWaveTabBar/blob/master/UICWaveTabbar/Assets.xcassets/expandableCenter.dataset/expandableCenter.gif\"\u003e\n\u003c/div\u003e\n\n## Options: \n1 - It's seperated component and it consist of two files : `UICWaveTabbar.xib` and `UICWaveTabBar.swift` so you don't need to storyboard. If you like to chage design only make change on `.xib`file. \u003cbr\u003e\n2 - Enable, disable animations\u003cbr\u003e\n3 - Enable, disable waving effect\u003cbr\u003e\n4 - Send notification from any VC to show badge on tab button (UserInfo must be `[String, tuple(tabIndex, yourMessage)]`)\n    \n    NotificationCenter.default.post(name: showBadgeNotification, object: nil, userInfo: [\"index\": (1, \"New\")])\n   \n\n## How to use? (implementation) \nUsage of UICWavetabBar is super easy 🎉\u003cbr\u003e\n1 - Download `UICWaveTabbar.xib`, `UICWaveTabBar.swift` files and import them to your project.\u003cbr\u003e\n2 - Just create an `UITabbarController` and use your custom tabbar.\u003cbr\u003e\n### For example: \n```\nprivate var customTabBar: UICWaveTabBar!\n\noverride func viewDidLoad() {\n        super.viewDidLoad()\n        \n        tabBar.isTranslucent = false\n        tabBar.backgroundColor = .clear\n        tabBar.tintColor = .clear\n        viewControllers = DataProvider.shared.provideMockViewControllers() \n        \n        let iconList = DataProvider.shared.provideTabIconList() \n        let titleList = DataProvider.shared.provideTabTitlesList()\n        \n        customTabBar = UICWaveTabBar(frame: tabBar.frame)\n        customTabBar.setupIconsAndTitles(iconList: iconList, titleList: titleList)\n        customTabBar.delegate = self\n        customTabBar.translatesAutoresizingMaskIntoConstraints = false\n        view.addSubview(customTabBar)\n        \n        NSLayoutConstraint.activate([\n            customTabBar.widthAnchor.constraint(equalTo: tabBar.widthAnchor),\n            customTabBar.heightAnchor.constraint(equalTo: tabBar.heightAnchor),\n            customTabBar.bottomAnchor.constraint(equalTo: tabBar.bottomAnchor),\n            customTabBar.centerXAnchor.constraint(equalTo: tabBar.centerXAnchor)\n            ])\n    }\n    \n    // delegate method\n    func tabChanged(_ tabBarView: UICWaveTabBar, toIndex: Int) {\n        self.selectedIndex = toIndex\n    }\n```\n##### Note : `DataProvider` class is custom util class that generate array of UIImage etc.\nFor more information please browse example project\n##### Note 2: For more than 5 view controllers you must hide navigation bar thats appear automatically (more).\n```\n    override func viewWillAppear(_ animated: Bool) {\n        super.viewWillAppear(animated)\n        \n        navigationController?.setNavigationBarHidden(true, animated: animated)\n    }\n```\n### Added new style tabbar 🎉 16/04/19\nUICExpandableCenterTabBar, add 7 view controllers in your tabbar. 2 buttons hidden inside center button 🌟 when you press they will appear\n\n### Added new style tabbar 🎉\nUICSlideTabBar is scrollable tabbar, you can add infinity items to it.\u003cbr\u003e\nIt has glow effect, blurred background, image for background, tracking horizontal bar etc. and you can customize as you want.\n\u003cbr\u003e\n## Requirements\nXcode 9 or later \u003cbr\u003e\niOS 10.0 or later \u003cbr\u003e\nSwift 4 or later \u003cbr\u003e\n\n#### Licence : \nThe MIT License (MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoder-acjhp%2Fuicwavetabbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoder-acjhp%2Fuicwavetabbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoder-acjhp%2Fuicwavetabbar/lists"}