Implementing Engaging UI on iOS
Description: Users expect interesting animations and responsive interactions. Learn how to achieve this by making view controller transitions smooth, optimizing performance when using images, and harnessing customization APIs alongside new iOS 7 features.
Custom UIViewController transitions
- Create and Initialize new UIViewController
- In this UIViewController, conforms to
- (id <UIViewControllerAnimatedTransitioning>) animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)sourcedelegate method. In this method, we could totally customize the return object which conforms to
UIViewControllerAnimatedTransitioning. This delegate method give custom transition when trying to present a new
- (id <UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed, In this method, we could also totally customize the return object which conforms to
UIViewControllerAnimatedTransitioning. This delegate method give custom transition when trying to dismiss a presented
- Create a custom subclass of NSObject conforms to
UIViewControllerAnimatedTransitioning, override several required methods, then magic happens.
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:]
animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; gravityBehavior = [[UIGravityBehavior alloc] initWithItems:@[itemToAnimate]]; [animator addBehavior:gravityBehavior];
This note was originally published at github.com/antonio081014/WWDC_Learning_Review.