{"id":32315796,"url":"https://github.com/cuzv/rrnavigationbar","last_synced_at":"2025-10-23T10:53:26.148Z","repository":{"id":62452140,"uuid":"86338258","full_name":"cuzv/RRNavigationBar","owner":"cuzv","description":"bring UINavigationBar to UIViewController.","archived":false,"fork":false,"pushed_at":"2023-01-30T12:59:59.000Z","size":3359,"stargazers_count":11,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-23T10:53:15.498Z","etag":null,"topics":["navigation","navigationbar","navigationbar-animation","navigationbar-transition","navigationbaranimation","navigationbartransition","rrnavigationbar"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","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/cuzv.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2017-03-27T13:24:46.000Z","updated_at":"2023-03-14T13:19:11.000Z","dependencies_parsed_at":"2023-02-16T07:31:23.835Z","dependency_job_id":null,"html_url":"https://github.com/cuzv/RRNavigationBar","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/cuzv/RRNavigationBar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuzv%2FRRNavigationBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuzv%2FRRNavigationBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuzv%2FRRNavigationBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuzv%2FRRNavigationBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cuzv","download_url":"https://codeload.github.com/cuzv/RRNavigationBar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuzv%2FRRNavigationBar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280606611,"owners_count":26359387,"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","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["navigation","navigationbar","navigationbar-animation","navigationbar-transition","navigationbaranimation","navigationbartransition","rrnavigationbar"],"created_at":"2025-10-23T10:53:20.579Z","updated_at":"2025-10-23T10:53:26.142Z","avatar_url":"https://github.com/cuzv.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/cuzv/RRNavigationBar/blob/master/LICENSE)\n[![CocoaPods Compatible](https://img.shields.io/badge/CocoaPods-v1.3-green.svg)](https://github.com/CocoaPods/CocoaPods)\n[![Weibo](https://img.shields.io/badge/Weibo-cuzval-yellowgreen.svg)](https://weibo.com/cuzval/)\n[![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/cuzval)\n\n# RRNavigationBar\n\nbring `UINavigationBar` to` UIViewController`.\n\n## Introduction\n\n[KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) provides a grace method deal with `navigationBar` transition, and requires zero  line of code changes, which is awesome.\n\nHere is the situation I couldn't doing well by using [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition): first page is a product list, click product line, push to product details page, requires transparent `navigationBar`, while you scrolling, it could recover to default `navigationBar`'s appearance. Continue  push to the next page, the `navigationBar` needs to look like the first page, which is the default appearance. (like the following 1st gif tells.)\n\nIn a word, what I wanted is **change the  `navigationBar`'s appearance only affect current viewController**, which is this repo trying to do.\n\n\u003cp align=\"left\"\u003e\n\u003cimg src=\"./Preview/1.gif\" width=240px\"\u003e \u003cimg src=\"./Preview/2.gif\" width=240px\"\u003e\n\u003c/p\u003e\n\n## Requirements\n\n- iOS 7.0+\n\nMy working environment is iOS 11.0 \u0026 Xcode 9, the minimum support version is iOS7 in theory, without test passed confirmed.\n\n## CocoaPods\n\n[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects.\n\nYou can install it with the following command:\n\n```bash\n$ gem install cocoapods\n```\n\nTo integrate RRNavigationBar into your Xcode project using CocoaPods, specify it in your `Podfile`:\n\n```ruby\nsource 'https://github.com/CocoaPods/Specs.git'\nplatform :ios, '8.0'\nuse_frameworks!\n\npod 'RRNavigationBar'\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\nYou should open the `{Project}.xcworkspace` instead of the `{Project}.xcodeproj` after you installed anything from CocoaPods.\n\n## Usage\n\nIn UIViewController subclassess  `viewDidLoad` method:\n\n```Objec\nself.rr_navigationBar.xxx = newValue;\n```\n\nIf the viewController's view is activated, will take effect immediately, otherwise when `viewWillLayoutSubviews` called.\n\nFor more information checkout the demo in project.\n\n## Supported Methods\n\n- `barStyle`\n- `translucent`\n- `tintColor`\n- `barTintColor`\n- `backgroundColor`\n- `shadowImage`\n- `setBackgroundImage:forBarMetrics:`\n- `alpha`\n- `backIndicatorImage`\n- `backIndicatorTransitionMaskImage`\n- `titleTextAttributes` \n- `rr_forceShadowImageHidden`\n\n**Try not change `translucent` property once you setup**, which is may cause navigationBar flash when animation complete with extends container ViewController's view backgroundColor. \n\nEspecially in iOS 11, it will cause navigationBar corruption during (push) animation \u0026 ViewController's contentView(UIScrollView) jump.\n\nSet `hidden`property will have no effect, try use `setBackgroundImage:forBarMetrics:` \u0026 `shadowImage` make navigationBar invisible.\n\nIf you don't want to be impacted for specific `UINavigationController`, use those methods execude it.\n\n- `RRNavigationBarExcludeImpactBehaviorForClass`\n- `RRNavigationBarExcludeImpactBehaviorForInstance`\n\nAlso, you can disable/enable pop interactive animation by manipulate ViewController's property: `rr_interactivePopGestureRecognizerDisabled`.\n\n## License\n\n`RRNavigationBar` is available under the MIT license. See the LICENSE file for more info.\n\n## References\n\n- [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuzv%2Frrnavigationbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuzv%2Frrnavigationbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuzv%2Frrnavigationbar/lists"}