{"id":18010412,"url":"https://github.com/stefanceriu/scnavigationcontroller","last_synced_at":"2025-03-26T14:32:00.357Z","repository":{"id":25996629,"uuid":"29439034","full_name":"stefanceriu/SCNavigationController","owner":"stefanceriu","description":"SCNavigationController is an UINavigationController like container view controller and was built to provide and expose more features and control","archived":false,"fork":false,"pushed_at":"2021-02-19T15:41:46.000Z","size":29,"stargazers_count":45,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-21T23:23:59.058Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":false,"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/stefanceriu.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":"2015-01-18T20:02:45.000Z","updated_at":"2025-01-17T15:20:10.000Z","dependencies_parsed_at":"2022-07-16T23:06:58.486Z","dependency_job_id":null,"html_url":"https://github.com/stefanceriu/SCNavigationController","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanceriu%2FSCNavigationController","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanceriu%2FSCNavigationController/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanceriu%2FSCNavigationController/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanceriu%2FSCNavigationController/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefanceriu","download_url":"https://codeload.github.com/stefanceriu/SCNavigationController/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245670819,"owners_count":20653430,"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":[],"created_at":"2024-10-30T02:14:08.101Z","updated_at":"2025-03-26T14:32:00.022Z","avatar_url":"https://github.com/stefanceriu.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SCNavigationController\n\nSCNavigationController is an UINavigationController like container view controller and was built to provide and expose more features and control. It is especially helpful in customizing the push/pop animations through layouters and custom timing functions, and to know when those animations are finished through completion blocks. \n\nIt was built on top of the [SCStackViewController](https://github.com/stefanceriu/SCStackViewController) and for that reason it supports and builds on top of the following features:\n\n1. Supports customizable transitions and animations through custom layouters, easing functions and animation durations (examples bellow)\n2. Offers completion blocks for all stack related operations\n3. Allows stacking view controllers on the top, left, bottom or right side of the root view controller\n4. Exposes an interactiveGestureRecognizer not just for popping but for full stack navigation and allows changes on this gesture's trigger area\n\n    and more..\n\n## Examples\n\n##### Parallax - Sine Ease In Out - Right\n\n![Parallax - Sine Ease In Out - Right](https://drive.google.com/u/0/uc?id=1yh8802OXWy1g5_LmJBb56gPmcXsbSR_3\u0026export=download)\n\n##### Parallax - Sine Ease In Out - Top\n\n![Parallax - Sine Ease In Out - Top](https://drive.google.com/u/0/uc?id=1Kivlt5-INkH03vhC79MdBA8AIg_ZybGN\u0026export=download)\n\n##### Parallax - Interactive\n\n![Parallax - Interactive](https://drive.google.com/u/0/uc?id=13CiPTKYkHOtJFpINaI3dGHQJtEKQcfpy\u0026export=download)\n\n##### Plain - Elastic Ease Out\n\n![Plain - Elastic Ease Out](https://drive.google.com/u/0/uc?id=1zegzg-Ysma5Axr5xjdMnvcpE3dNhoZ2y\u0026export=download)\n\n##### Sliding - Bounce Ease Out\n\n![Sliding - Bounce Ease Out](https://drive.google.com/u/0/uc?id=1J61n7zFqineGqHMewWkbPwx3Kgl-YwTO\u0026export=download)\n\n##### Parallax - Back Ease In Out\n\n![Parallax - Back Ease In Out](https://drive.google.com/u/0/uc?id=1TbewTm1Y_WzY6lZ7Gf0lRApYci_u7Q62\u0026export=download)\n\n##### Google Maps - Back Ease In\n\n![Google Maps - Back Ease In](https://drive.google.com/u/0/uc?id=1FiMfnhQYHNfUS8O_SPI4Jn92zrOhSMOo\u0026export=download)\n\n## Usage\n\n- Import the navigation controller into your project\n\n```\n#import \"SCNavigationController.h\"\n```\n\n- Create a new instance\n\n```\nnavigationController = [[SCNavigationController alloc] initWithRootViewController:rootViewController];\n```\n \n- Register layouters (optional, defaults to SCParallaxStackLayouter)\n\n```\nid\u003cSCStackLayouterProtocol\u003e layouter = [[SCParallaxStackLayouter alloc] init];\n[navigationController setLayouter:layouter];\n```\n\n- Push view controllers\n\n```\n[self.navigationController pushViewController:viewController animated:YES completion:nil];\n```\n\n- Pop view controllers\n\n```\n[self.navigationController popViewControllerAnimated:YES completion:nil];\n```\n\n- Pop to any given view controller\n\n```\n[self.navigationController popToViewController:viewController animated:YES completion:nil];\n```\n\n- Pop to the root view controller\n\n```\n[self.navigationController popToRootViewControllerAnimated:YES completion:nil];\n```\n\n######Check out the demo project for more details (pod try)\n\n## License\nSCNavigationController is released under the MIT License (MIT) (see the LICENSE file)\n\n## Contact\nAny suggestions or improvements are more than welcome.\nFeel free to contact me at [stefan.ceriu@gmail.com](mailto:stefan.ceriu@gmail.com) or [@stefanceriu](https://twitter.com/stefanceriu).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanceriu%2Fscnavigationcontroller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanceriu%2Fscnavigationcontroller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanceriu%2Fscnavigationcontroller/lists"}