{"id":21619098,"url":"https://github.com/bannzai/kaeru","last_synced_at":"2025-04-06T02:08:07.390Z","repository":{"id":56917778,"uuid":"66770648","full_name":"bannzai/Kaeru","owner":"bannzai","description":"Switch viewcontroller like ios task manager","archived":false,"fork":false,"pushed_at":"2017-03-10T08:56:52.000Z","size":66400,"stargazers_count":515,"open_issues_count":0,"forks_count":28,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-28T18:04:06.359Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/bannzai.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-08-28T13:50:22.000Z","updated_at":"2025-03-23T03:37:08.000Z","dependencies_parsed_at":"2022-08-20T23:40:26.643Z","dependency_job_id":null,"html_url":"https://github.com/bannzai/Kaeru","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/bannzai%2FKaeru","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannzai%2FKaeru/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannzai%2FKaeru/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bannzai%2FKaeru/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bannzai","download_url":"https://codeload.github.com/bannzai/Kaeru/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423514,"owners_count":20936626,"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-11-24T23:07:54.867Z","updated_at":"2025-04-06T02:08:07.373Z","avatar_url":"https://github.com/bannzai.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kaeru\n\n**Kaeru** can switch ViewController in NavigationController like iOS task manager UI (after iOS 9).\n\n## Movie\n\n![](https://cloud.githubusercontent.com/assets/10897361/19626981/268ca80a-9978-11e6-9fa3-465d0851aa31.gif)\n\n## Usage\nYou can use `HistoryNavigationController`, that sub class of `UINavigationController`. It can be used like `UINavigationController`.\n\n### e.g\n#### On storyboard  \n##### If you install through CocoaPods.\n![](./KaeruIntroductionResource/on_storyboard_when_cocoapods.png)\n\n##### If you install through download or git clone.\n![](./KaeruIntroductionResource/on_storyboard.png)\n\n#### Swift code in AppDelegate\n```\nfunc application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -\u003e Bool {\n    // Override point for customization after application launch.\n\n    let viewContoller = UIViewController()\n    let navigationController = HistoryNavigationController(rootViewController: viewContoller)\n\n    window?.rootViewController = navigationController\n\n    window?.makeKeyAndVisible()\n\n    return true\n}\n```\n\nAnd you can call `self.navigationController?.presentHistory()` in UIViewController sub class. After it, appearance would change like iOS task manager UI.\n\n```\n@IBAction func showViewerButtonPressed(sender: AnyObject) {\n    navigationController?.presentHistory()\n}\n```\n\nAnd it's possible tap each ViewController snap shots.\nAfter it, begin scale animation and called automatically  `UINavigationContoller.popToViewController`.\n\n## Customize\nWhen called `HistoryNavigationController.presentHistory()`,\nit's possible to set a custom `backgroundView`.\n\n```\nlet view = UIView(frame: UIScreen.mainScreen().bounds)\nview.backgroundColor = .redColor()\nnavigationController?.presentHistory(view)\n```\n\nThis sample code write and run, when `HistoryNavigationController` appear, background becomes red.\n\n## TODO\n- [x] Support cocoapods.\n- [x] Support Carthage.\n- [ ] Add delegate methods.\n- [ ] Test.\n\n\n## License\n\n**Kaeru** 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%2Fbannzai%2Fkaeru","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbannzai%2Fkaeru","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbannzai%2Fkaeru/lists"}