{"id":13463483,"url":"https://github.com/itsmeichigo/ICGTransitionAnimation","last_synced_at":"2025-03-25T06:32:10.991Z","repository":{"id":17204034,"uuid":"19972410","full_name":"itsmeichigo/ICGTransitionAnimation","owner":"itsmeichigo","description":"ICGTransitionAnimation is a library to customize transition animation in iOS 7 and above.","archived":false,"fork":false,"pushed_at":"2014-09-19T06:29:02.000Z","size":2266,"stargazers_count":335,"open_issues_count":1,"forks_count":35,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-09-17T06:49:34.721Z","etag":null,"topics":[],"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/itsmeichigo.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":"2014-05-20T07:56:56.000Z","updated_at":"2023-07-25T07:20:17.000Z","dependencies_parsed_at":"2022-09-12T23:20:59.915Z","dependency_job_id":null,"html_url":"https://github.com/itsmeichigo/ICGTransitionAnimation","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmeichigo%2FICGTransitionAnimation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmeichigo%2FICGTransitionAnimation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmeichigo%2FICGTransitionAnimation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsmeichigo%2FICGTransitionAnimation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsmeichigo","download_url":"https://codeload.github.com/itsmeichigo/ICGTransitionAnimation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222045614,"owners_count":16921984,"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-07-31T13:00:54.208Z","updated_at":"2024-10-29T12:31:26.920Z","avatar_url":"https://github.com/itsmeichigo.png","language":"Objective-C","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"ICGTransitionAnimation\n======================\n\nICGTransitionAnimation is a library to customize transition animation in iOS 7.\n\n![Demo](https://raw.githubusercontent.com/itsmeichigo/ICGTransitionAnimation/master/Demo.gif)\n\n## Changes\nv 1.02\n * Fix bug unable to show modal transition animation in storyboard.\n\nv 1.01 \n * Fix wrong animation transition direction.\n \nv 1.0\n * First public release\n\n## Getting started\n\n#### Using CocoaPods:\n  Just add the following line in to your pod file:\n  \n\tpod 'ICGTransitionAnimation', '~\u003e 1.02'\n\n#### Manually add ICGTransitionAnimation as a library:\n  Drag and drop the subfolder named `ICGTransitionAnimation` in your project and you are done.\n\n### Basic usage\n\n 1. Custom navigation transition\n\n Create an instance of `ICGNavigationController` and set your preferred animation controller with corresponding transition style (default style will be used if none is set).\n\n ```Objective-C\n\n\t ICGNavigationController *navigationController = [[ICGNavigationController alloc] initWithRootViewController:viewController];\n\t ICGLayerAnimation *layerAnimation = [[ICGLayerAnimation alloc] initWithType:ICGLayerAnimationCover];\n\t navigationController.animationController = layerAnimation;\n ```\n\n If you use storyboard, make sure your navigation controller's custom class is `ICGNavigationController`, just so you can set its animation controller via any of its view controller. For example, you can add this inside `viewDidLoad` method of your root view controller:\n\n ```Objective-C\n    ICGNavigationController *fancyNavigationController = (ICGNavigationController *)self.navigationController;\n    ICGLayerAnimation *layerAnimation = [[ICGLayerAnimation alloc] initWithType:ICGLayerAnimationCover];\n    fancyNavigationController.animationController = layerAnimation;\n ```\n You can also take a look at the storyboard demo to find out how the library should be integrated.\n \n 2. Custom modal transition\n\n In order to customize the modal transition animation, you need to make sure your presenting view controller subclasses `ICGViewController` and set a custom animation controller to it.\n\n One important note: The transition can only work if you set the modal view controller transitioning delegate to that of the presenting view controller (see the sample code below).\n\n ```Objective-C\n\n\t  // ICGMainViewController is a subclass of ICGViewController\n    ICGMainViewController *mainController = [[ICGMainViewController alloc] initWithNibName:@\"ICGFirstViewController\" bundle:nil];\n    ICGSlideAnimation *slideAnimation = [[ICGSlideAnimation alloc] init];\n    slideAnimation.type = ICGSlideAnimationFromTop;\n    mainController.animationController = slideAnimation;\n\n    // View controller to be modally presented - this can subclass any UIViewController subclass.\n    ICGModalViewController *modalController = [[ICGModalViewController alloc] initWithNibName:@\"ICGModalViewController\" bundle:nil];\n    modalController.transitioningDelegate = mainController.transitioningDelegate; // this is important for the transition to work\n    [modalController.navigationController presentViewController:viewController animated:YES completion:nil];\n\n ```\n 3. Interactive transition\n\n If you are using an animation controller that supports interactive transition, make sure to enable interaction on the object that you set the animation controller to.\n\n ```Objective-C\n\n    // If you want the push / pop transition to be interactive, enable interaction on your ICGNavigationController instance\n    navigationController.interactionEnabled = YES;\n\n    // If you want the modal transition to be interactive, enable interaction on the presenting view controller\n    mainViewController.interactionEnabled = YES;\n ```\n\n\n### Advanced usage\n\nBy default, there are several available animation controllers provided in the library for basic transition customization. You are however encouraged to create your own, creative transition style by subclassing `ICGBaseAnimation`. The idea is pretty simple - you just need to override the mandatory method `animateTransition: fromView: toView:`. If you wish to add interactive transition too, be sure to override `setInteractionEnabled`.\n\nFor sample code, check out the implementation of `ICGSlideAnimation` provided in the library, which supports both custom animation and interaction transition.\n\n## Requirements\n\nICGTransitionAnimation requires Xcode 5 as it uses UIKit Dynamics and motion effects. The library\nsupports iOS 7, but it's also compatible for iOS 6.\n\n### ARC\n\nICGTransitionAnimation uses ARC. If you are using ICGTransitionAnimation in a non-arc project, you\nwill need to set a `-fobjc-arc` compiler flag on every ICGTransitionAnimation source files. To set a\ncompiler flag in Xcode, go to your active target and select the \"Build Phases\" tab. Then select\nICGTransitionAnimation source files, press Enter, insert -fobjc-arc and then \"Done\" to enable ARC\nfor ICGTransitionAnimation.\n\n## Contributing\n\nContributions for bug fixing or improvements are welcomed. Feel free to submit a pull request.\n\n## Licence\n\nICGTransitionAnimation 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%2Fitsmeichigo%2FICGTransitionAnimation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsmeichigo%2FICGTransitionAnimation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsmeichigo%2FICGTransitionAnimation/lists"}