OC login interface login button animation, oc interface button Animation
1. Original Author: @ entotsu
1.1 Original Author connection: https://github.com/entotsu/TKSubmitTransition
2. Use:
Import "HyTransitions. h" import "LoglnButton. h"
2.1 create a button
LoglnButton * log = [[LoglnButton alloc] initWithFrame: CGRectMake (20, CGRectGetHeight (self. view. bounds)-(40 + 80), [UIScreen mainScreen]. bounds. size. width-40, 40)]; [log setBackgroundColor: [UIColor colorWithRed: 0 green: 119/255. 0f blue: 204.0f/255.0f alpha: 1]; [self. view addSubview: log]; [log setTitle: @ "login" forState: UIControlStateNormal]; [log addTarget: self action: @ selector (PresentViewController :) forControlEvents: UIControlEventTouchUpInside];
2.2 Implementation Method
// If the network is normal or the password account is correctly redirected to the animation [button ExitAnimationCompletion: ^ {if (weak. switch. on) {[weak didPresentControllerButtonTouch] ;}}]; // The animation is restored due to a network error or incorrect password. [button ErrorRevertAnimationCompletion: ^ {if (weak. switch. on) {[weak didPresentControllerButtonTouch] ;}}];
2.3 create a controller
UIViewController *controller = [SecondViewController new]; UINavigationController *nai = [[UINavigationController alloc] initWithRootViewController:controller]; nai.transitioningDelegate = self; [self presentViewController:nai animated:YES completion:nil];
2.4 implement proxy
- (id<UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source{ return [[HyTransitions alloc]initWithTransitionDuration:0.4f StartingAlpha:0.5f isBOOL:true];}- (id <UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed{ return [[HyTransitions alloc]initWithTransitionDuration:0.4f StartingAlpha:0.8f isBOOL:false];}