在开发中,如果项目需求比较小,时间比较紧,我们就需要一些简单快速来实现我们的功能。动画图实现的效果有很多,比如GIF,iOS的三大基本动画方式等。这里我就记录一种比较容易理解的、简单的效果。
昨天我在开发过程中,我们要实现一个图片上下来回跳动的效果。本来想简单的让美工给个GIF的,她说麻烦,安卓也说一张图就一张图!那我还能说啥,因为一般情况下不给人家找麻烦,所以就只能撸代码了。为了快速实现该功能,我用了UIView中的动画语句块,so easy!看下效果图
废话少说,贴代码
UIImageView *imageView1 = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"park"]];
[self.view addSubview:imageView1];
[imageView1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.view);
make.centerY.equalTo(self.view).offset(-70);
}];
UILabel *lab = [CLKitTool label:@"努力寻找中..." textColor:[UIColor colorWithHexString:@"9c9c9c"] font:16 lines:1];
[self.view addSubview:lab];
[lab mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.view);
make.top.equalTo(imageView1.mas_bottom).offset(20);
}];
//animateWithDuration:动画时间,delay:延迟时间,usingSpringWithDamping:弹簧效果,initialSpringVelocity:初始速度
[UIView animateWithDuration:5.0 delay:0.3 usingSpringWithDamping:0.01 initialSpringVelocity:0.05 options:UIViewAnimationOptionCurveEaseInOut animations:^{ CGPoint point = imageView1.center;
point.y -= 15;//上下浮动就改变纵坐标
[imageView1 setCenter:point];
} completion:^(BOOL finished) {
// 动画完成后执行
imageView1.image = [UIImage imageNamed:@"表情"];
lab.text = @"没有为您查找到可用的停车场";
}];
😝