IOS_OC_最基本的视图动画效果(基于UIKit)(1)


animation = YES/NO 还在用这个玩意?
?
?
?
动画看起来都很牛X吧,其实用我们的UIKit库也可以实现一些动画的,
虽然不能向CG那么厉害,但是在项目里加上一些小小的动画,
就瞬间可以让你的项目高大上不少.

如果之前没接触过那也没关系,先上一张弟弟图;


平移.gif

再接着上代码


#import "ViewController.h"
#import 
@interface ViewController ()
@property(nonatomic,strong)UIView *translationView;
@property(nonatomic,strong)UITextView *password;
@property(nonatomic,strong)UIButton *login;
@end
@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    [btn setTitle:@"go" forState:UIControlStateNormal];
    btn.backgroundColor = [UIColor blackColor];
    btn.center = self.view.center;
    [btn addTarget:self action:@selector(translationDidChange) forControlEvents:UIControlEventTouchDown];
    [self.view addSubview:btn];
    self.translationView = [[UIView alloc] initWithFrame:CGRectMake(0, 100, 50, 50)];
    self.translationView.backgroundColor = [UIColor redColor];
    [self.view addSubview:self.translationView];
    
   
   
    

}

最后触发方法 通过改变控件中心点的frame来实现平移
这里面参数UIview直接换成你想要的控件类型;
animateWith 后面的Duration是设置动画完成的过程用时;
后面block就是位移的目标地点;

-(void)translationDidChange{
    
    CGPoint accountCenter = self.translationView.center;
   
    self.translationView.center = accountCenter;
    accountCenter.x += self.view.frame.size.width-50;
    
    
    [UIView animateWithDuration:3.5 animations:^{
        self.translationView.center = accountCenter;
    } completion:nil];
    
}

如果你需要控件平移效果的话,这个很基本了已经
从这个一个方法我们就可以实现上下左右移动
宽高都改变的情况下斜着来也行,block还可以写透明度


斜向位移加改变透明度

触发方法代码:

  CGPoint accountCenter = self.translationView.center;
    CGFloat accountAlpha = self.translationView.alpha;
    
    
    self.translationView.center = accountCenter;
    self.translationView.alpha = accountAlpha;
    accountCenter.x += self.view.frame.size.width-50;
    accountCenter.y += self.view.frame.size.height - 150;
    accountAlpha -= 1;
    [UIView animateWithDuration:3.5 animations:^{
        self.translationView.center = accountCenter;
        self.translationView.alpha = accountAlpha;
    } completion:nil];

可以实现的效果非常非常多,
比如登陆注册的时候可以搞个输入框,密码框
确定按钮动画入场.........渍渍渍.....


你可能感兴趣的:(IOS_OC_最基本的视图动画效果(基于UIKit)(1))