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

2019-07-25  本文已影响0人  IOS_技术小牛

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

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


效果图

这个需求,同样不是很复杂,实现界面的思路大概就是:
底层一个两倍屏宽的底视图添加到我们原本的backView上;
创建两个与屏幕宽高相同的view把他添加到backView上;
通过Button的触发方法.在改变backView的位置情况下,
围绕button中心点环绕旋转.

再来一张效果图;


效果图

直接上动画代码:

- (void)rotate:(id)sender {
    //
    
    self.btnSelectCount += 1;
    
    if (self.btnSelectCount%2==0) {
        CGPoint accountCenter = self.mainView.center;
        
        
        
        self.mainView.center = accountCenter;
        accountCenter.x -= WIDTH;
        
        
        
        [UITextField animateWithDuration:0.5 animations:^{
            self.mainView.center = accountCenter;
        } completion:nil];
    }else{
        CGPoint accountCenter = self.mainView.center;
        
        self.mainView.center = accountCenter;
        accountCenter.x += WIDTH;
        
        
        [UIView animateWithDuration:0.5 animations:^{
            self.mainView.center = accountCenter;
        } completion:nil];
    }
    
    
    //
    
    if (flag) {
        [UIView animateWithDuration:0.5 animations:^{
            self->_imageView.transform = CGAffineTransformMakeRotation(-M_PI);
        } completion:^(BOOL finished) {
            self->flag = NO;
        }];
    }
    else {
        [UIView animateWithDuration:0.5 animations:^{
            self->_imageView.transform = CGAffineTransformMakeRotation(0.0001);
        } completion:^(BOOL finished) {
            self->flag = YES;
        }];
    }
}

具体Demo里面pod了Masonry ;pod文件太大了,pod文件太大没一起上传自己重新pod install 一下就好了;

上一篇下一篇

猜你喜欢

热点阅读