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 一下就好了;