iOS UIView Block动画
来源:互联网 发布:慧聪发布商机软件 编辑:程序博客网 时间:2024/06/06 09:43
UIView 动画
关于UIView动画,苹果提供了许多简便的API。
封装好的blcok动画,使用起来超简单。
第一种:最基础的[UIView animateWithDuration:① animations:^{ ②}];①:动画执行时间(类型:NSTimeInterval)②:要执行动画的view,最后的状态(坐标,旋转角度,大小,透明度等)例子: UIView * view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; view.backgroundColor = [UIColor redColor]; [self.view addSubview:view]; [UIView animateWithDuration:1 animations:^{ view.frame = CGRectMake(100, 100, 50, 50); view.alpha = 0; view.backgroundColor = [UIColor yellowColor]; }];第二种:带有完成的block动画[UIView animateWithDuration:① animations:^{ ②} completion:^(BOOL finished) { ③}];①:动画执行时间(类型:NSTimeInterval)②:要执行动画的view,最后的状态(坐标,旋转角度,大小,透明度等)③:动画执行完要执行的代码,例如:网络请求,更新数据等。第三种:带有延时和速度模式的block动画 [UIView animateWithDuration:① delay:② options:③ animations:^{ ④ } completion:^(BOOL finished) { ⑤ }];①:动画执行时间(类型:NSTimeInterval)②:动画延迟执行的时间 (类型:NSTimeInterval)③:动画的过渡效果参数如下:多个参数时用“|”连接 { UIViewAnimationOptionLayoutSubviews //提交动画的时候布局子控件,表示子控件将和父控件一同动画。 UIViewAnimationOptionAllowUserInteraction //动画时允许用户交流,比如触摸 UIViewAnimationOptionBeginFromCurrentState //从当前状态开始动画 UIViewAnimationOptionRepeat //动画无限重复 UIViewAnimationOptionAutoreverse //执行动画回路,前提是设置动画无限重复 UIViewAnimationOptionOverrideInheritedDuration //忽略外层动画嵌套的执行时间 UIViewAnimationOptionOverrideInheritedCurve //忽略外层动画嵌套的时间变化曲线 UIViewAnimationOptionAllowAnimatedContent //通过改变属性和重绘实现动画效果,如果key没有提交动画将使用快照 UIViewAnimationOptionShowHideTransitionViews //用显隐的方式替代添加移除图层的动画效果 UIViewAnimationOptionOverrideInheritedOptions //忽略嵌套继承的选项 //时间函数曲线相关 UIViewAnimationOptionCurveEaseInOut //时间曲线函数,由慢到快 UIViewAnimationOptionCurveEaseIn //时间曲线函数,由慢到特别快 UIViewAnimationOptionCurveEaseOut //时间曲线函数,由快到慢 UIViewAnimationOptionCurveLinear //时间曲线函数,匀速}④:要执行动画的view,最后的状态(坐标,旋转角度,大小,透明度等)⑤:动画执行完要执行的代码,例如:网络请求,更新数据等。 第四种:带有弹簧特性的block动画 [UIView animateWithDuration: delay: usingSpringWithDamping:① initialSpringVelocity:② options: animations:^{ } completion:^(BOOL finished) { }];相同的参数就不介绍了主要介绍两个①:阻尼比。阻尼比为1或大于1,动画将平稳减速到其最终价值View没有振荡。阻尼比小于1,将产生越来越多的回弹来完全停止。(类型:CGFloat)②:弹簧的速度。(类型:CGFloat)第五种:转场动画 [UIView transitionWithView:① duration:1 options:② animations:^{ } completion:^(BOOL finished) { }];①:要执行动画的View②:过度效果 { UIViewAnimationOptionTransitionNone //无效果 UIViewAnimationOptionTransitionFlipFromLeft //左右翻转 UIViewAnimationOptionTransitionFlipFromRight //右左翻转 UIViewAnimationOptionTransitionCurlUp //向上翻书的效果 UIViewAnimationOptionTransitionCurlDown //向下翻书的效果 UIViewAnimationOptionTransitionCrossDissolve //渐隐渐现 UIViewAnimationOptionTransitionFlipFromTop //上下翻转 UIViewAnimationOptionTransitionFlipFromBottom //下上翻转}例子: 声明一个view1 self.view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; self.view1 .backgroundColor = [UIColor redColor]; [self.view addSubview: self.view1 ]; 在一个按钮的点击事件里写:- (IBAction)btnfun:(id)sender { self.view1.backgroundColor = [UIColor yellowColor]; [UIView transitionWithView:self.view1 duration:1 options:UIViewAnimationOptionTransitionFlipFromBottom animations:^{ UIView*v = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)]; v.backgroundColor =[UIColor blueColor]; [self.view1 addSubview:v]; self.view1.frame = CGRectMake(0, 0, 200, 200); self.view1.alpha = 0.4; } completion:^(BOOL finished) { }]; //备注:经过测试。改变颜色的话 不要写在animations的block里,效果不好,写在执行动画之前。}以下两个 还未研究,有时间补上 有懂得可以在评论里告诉我 谢谢+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^ __nullable)(BOOL finished))completion NS_AVAILABLE_IOS(4_0); // toView added to fromView.superview, fromView removed from its superview+ (void)performSystemAnimation:(UISystemAnimation)animation onViews:(NSArray<__kindof UIView *> *)views options:(UIViewAnimationOptions)options animations:(void (^ __nullable)(void))parallelAnimations completion:(void (^ __nullable)(BOOL finished))completion NS_AVAILABLE_IOS(7_0)
0 0
- iOS UIView Block动画
- iOS UIView Block动画(块儿动画)
- iOS动画--UIView自带动画效果、Block动画
- iOS 动画Animation详解, UIView动画(UIView属性动画,UIViewTransition动画,UIView Block动画),CALayer动画(CABasicAnima...)
- iOS 动画Animation详解, UIView动画(UIView属性动画,UIViewTransition动画,UIView Block动画),CALayer动画(CABasicAnima...)
- iOS 动画Animation详解, UIView动画(UIView属性动画,UIViewTransition动画,UIView Block动画),CALayer动画(CABasicAnima...)
- UIView动画With Block
- UIView block动画
- iOS中的动画:核心动画Core Animation, UIView动画, Block动画, UIImageView的帧动画.
- iOS动画 UIView动画
- iOS 动画 UIView动画
- IOS 五种动画详解 CAAnimation、UIView动画、Block动画、UIImageView
- ios UIView 动画效果
- 【iOS开发】---- UIView动画
- 【iOS开发】---- UIView动画
- UIView转场动画 IOS
- ios--UIView简单动画
- [ios] UIView动画
- Redis实现分布式环境下的分布式锁机制
- 【Dialer】自定义暗码进入测试模式
- Debug与Release版本的区别
- UIButton属性
- Android开发中经常会用到的功能代码
- iOS UIView Block动画
- Andtroid_爱奇艺/乐视首页面3秒跳转
- 很多关于ios最新的文章及解决办法
- Linux kernel 3.10内核源码分析--进程上下文切换
- spring mvc获取请求的参数的几种方式
- java学习第五天
- 学习RecyclerView控件
- Android OPenCV 环境配置 <1>
- UIScrollView的delegate方法妙用之让UICollectionView滑动到某个你想要的位置