{"id":13462693,"url":"https://github.com/Pircate/EachNavigationBar","last_synced_at":"2025-03-25T05:32:13.687Z","repository":{"id":38360573,"uuid":"130163254","full_name":"Pircate/EachNavigationBar","owner":"Pircate","description":"A custom navigation bar for each view controller.","archived":false,"fork":false,"pushed_at":"2024-04-26T01:43:41.000Z","size":6282,"stargazers_count":594,"open_issues_count":31,"forks_count":71,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-10-29T13:44:57.990Z","etag":null,"topics":["carthage","cocoapods","navigationbar","swift"],"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/Pircate.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":"2018-04-19T05:27:28.000Z","updated_at":"2024-08-16T07:57:07.000Z","dependencies_parsed_at":"2024-06-18T17:03:28.968Z","dependency_job_id":"71f06ca5-e221-4ba6-b80d-c21a6bb987bd","html_url":"https://github.com/Pircate/EachNavigationBar","commit_stats":{"total_commits":353,"total_committers":6,"mean_commits":"58.833333333333336","dds":0.518413597733711,"last_synced_commit":"f993c18aaafef6cd74f21044bfc07aa238cee4e5"},"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pircate%2FEachNavigationBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pircate%2FEachNavigationBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pircate%2FEachNavigationBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pircate%2FEachNavigationBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pircate","download_url":"https://codeload.github.com/Pircate/EachNavigationBar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245407563,"owners_count":20610227,"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":["carthage","cocoapods","navigationbar","swift"],"created_at":"2024-07-31T13:00:19.003Z","updated_at":"2025-03-25T05:32:13.267Z","avatar_url":"https://github.com/Pircate.png","language":"Swift","funding_links":[],"categories":["UI Component"],"sub_categories":[],"readme":"# EachNavigationBar\n\n[![Lint](https://github.com/Pircate/EachNavigationBar/workflows/Lint/badge.svg)](https://github.com/Pircate/EachNavigationBar/actions?query=workflow%3ALint)\n[![Version](https://img.shields.io/cocoapods/v/EachNavigationBar.svg?style=flat)](http://cocoapods.org/pods/EachNavigationBar)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n[![License](https://img.shields.io/cocoapods/l/EachNavigationBar.svg?style=flat)](http://cocoapods.org/pods/EachNavigationBar)\n[![Platform](https://img.shields.io/cocoapods/p/EachNavigationBar.svg?style=flat)](https://cocoapods.org/pods/EachNavigationBar)\n[![中文文档](https://woolson.gitee.io/npmer-badge/-007ec6-%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3-007ec6-github-ffffff-square-gradient-shadow.svg)](https://github.com/Pircate/EachNavigationBar/blob/master/README_CN.md)\n\n[中文文档](https://github.com/Pircate/EachNavigationBar/blob/master/README_CN.md)\n\n## Example\n\nTo run the example project, clone the repo, and run `pod install` from the Example directory first.\n\n## Requirements\n\n* iOS 9.0\n* Swift 4.2\n\n## Installation\n\nEachNavigationBar is available through [CocoaPods](http://cocoapods.org) or [Carthage](https://github.com/Carthage/Carthage). To install\nit, simply add the following line to your Podfile or Cartfile:\n\n#### Podfile\n\n```ruby\npod 'EachNavigationBar'\n```\n\n#### Cartfile\n```ruby\ngithub \"Pircate/EachNavigationBar\"\n```\n\n## Overview\n\n![](https://github.com/Pircate/EachNavigationBar/blob/master/demo_new.gif)\n![](https://github.com/Pircate/EachNavigationBar/blob/master/demo_push.gif)\n\n## Usage\n\n### Import\n\n``` swift\nimport EachNavigationBar\n```\n\n### Enable\n\n``` swift\nlet nav = UINavigationController(rootViewController: vc)\nnav.navigation.configuration.isEnabled = true\n```\n\n### Setting\n#### Global\n\n``` swift\nnav.navigation.configuration.titleTextAttributes = [.foregroundColor: UIColor.blue]\n\nnav.navigation.configuration.barTintColor = UIColor.red\n\nnav.navigation.configuration.shadowImage = UIImage(named: \"shadow\")\n\nnav.navigation.configuration.setBackgroundImage(UIImage(named: \"nav\"), for: .any, barMetrics: .default)\n\nnav.navigation.configuration.backItem = UINavigationController.Configuration.BackItem(style: .title(\"返回\"))\n\nnav.navigation.configuration.prefersLargeTitles = true\n\nnav.navigation.configuration.largeTitle.displayMode = .always\n```\n\n#### Each view controller\n\n##### Normal\n\n``` swift\nnavigation.bar  -\u003e EachNavigationBar -\u003e UINavigationBar\nnavigation.item -\u003e UINavigationItem\n\n// hide navigation bar\nnavigation.bar.isHidden = true\n\n// remove blur effect\nnavigation.bar.isTranslucent = false\n\n// hides shadow image\nnavigation.bar.isShadowHidden = true\n\n// set status bar style\nnavigation.bar.statusBarStyle = .lightContent\n\n// if you want change navigation bar position\nnavigation.bar.automaticallyAdjustsPosition = false\n\n// item padding\nnavigation.bar.layoutPaddings = UIEdgeInsets(top: 0, left: 8, bottom: 0, right: 8)\n\n// shadow\nnavigation.bar.shadow = Shadow(\n    color: UIColor.black.cgColor,\n    opacity: 0.5,\n    offset: CGSize(width: 0, height: 3)\n)\n```\n\n#### Alpha\n```swift\n// set bar alpha\nnavigation.bar.alpha = 0.5\n\n// set title alpha\nnavigation.bar.setTitleAlpha(0.5)\n\n// set barButtonItem alpha\nnavigation.bar.setTintAlpha(0.5)\n// if barButtonItem is customView\nnavigation.item.leftBarButtonItem?.customView?.alpha = 0.5\n// if barButtonItem customized tintColor\nnavigation.item.leftBarButtonItem?.tintColor = navigation.item.leftBarButtonItem?.tintColor?.withAlphaComponent(0.5)\n```\n\n#### Additional height or view\n```swift\n// navigation bar additional height\nnavigation.bar.additionalHeight = 14\n\n// navigation bar additional view\nnavigation.bar.additionalView = UIView()\n```\n\n#### BackBarButtonItem\n```swift\n// set back bar button item\nnavigation.bar.backBarButtonItem = .init(style: .title(\"Back\"), tintColor: .red)\n\n// allow back\nnavigation.bar.backBarButtonItem.shouldBack = { item in\n    // do something\n    return false\n}\n\n// handler before back\nnavigation.bar.backBarButtonItem.willBack = {\n    // do something\n}\n\n// handler after back\nnavigation.bar.backBarButtonItem.didBack = {\n    // do something\n}\n\n```\n\n#### LargeTitle(iOS 11.0+)\n\n``` swift\n// enable\nnavigation.bar.prefersLargeTitles = true\n\n// display mode\nnavigation.item.largeTitleDisplayMode = .always\n\n// alpha\nnavigation.bar.setLargeTitleAlpha(0.5)\n```\n\n## Author\n\nPircate, gao497868860@163.com\n\n## License\n\nEachNavigationBar is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPircate%2FEachNavigationBar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPircate%2FEachNavigationBar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPircate%2FEachNavigationBar/lists"}