Custom UIViewController transitions
Create and Initialize new UIViewController
Set
transitioningDelegateto beselfSet
modalPresentationStyleto beUIModalPresentationCustomCall
- presentViewController:animated:completion:In this UIViewController, conforms to
UIViewControllerTransitioningDelegateImplement
- (id <UIViewControllerAnimatedTransitioning>) animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)sourcedelegate method. In this method, we could totally customize the return object which conforms toUIViewControllerAnimatedTransitioning. This delegate method give custom transition when trying to present a newUIViewController.Implement
- (id <UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed, In this method, we could also totally customize the return object which conforms toUIViewControllerAnimatedTransitioning. This delegate method give custom transition when trying to dismiss a presentedUIViewController.Create a custom subclass of NSObject conforms to
UIViewControllerAnimatedTransitioning, override several required methods, then magic happens.
App-wide appearance
UIAppearance is very useful Protocol in iOS system. Developer could use this protocol to customize all the UIView or UIControl in one action.
Example is like: [[UIButton appearance] setTintColor:[UIColor redColor]]
Resizable and template images
- [UIImage resizableImageWithCapInsets:]
UIKit Dynamics
The basics:
animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
gravityBehavior = [[UIGravityBehavior alloc] initWithItems:@[itemToAnimate]];
[animator addBehavior:gravityBehavior];