IOS UIView 之类方法篇 Class Methods

接上篇UIView属性篇,从这篇开始我们就开始进入 UIView 方法的旅途中了
首先从类方法开始,本篇就总结一下类方法

UIView 类方法  Class Methods

类方法基本上都是与动画相关的
+ (void)addKeyframeWithRelativeStartTime:(double)frameStartTime relativeDuration:(double)frameDuration animations:(void (^)(void))animations

//指定一个关键帧的单个贞的时间和动画,从IOS7开始使用
//这里说一下参数,第一个frameStartTime其实是个倍数从0到1,假设一个动画持续的时间是2秒
//设置frameStartTime为0.5,那么后面设置的动画,将会在整体动画执行1秒后开始执行
//第二个参数frameDuration同第一个,是指动画持续时间
//第三个是一个block对象,里面就是你设置的所要执行的动画,无参数和返回值

+ (void)animateKeyframesWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewKeyframeAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion

//为当前视图创建一个可以用于设置基本关键帧动画的block对象,从IOS7开始使用
//这个方法可以与上一个方法结合使用

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations
//设置视图切换时的动画
+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//同上,只是多了可以在动画结束后执行一些东西
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//增加了几个参数,分别是delay动画执行前的等待时间,options 动画方式
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDamping:(CGFloat)dampingRatio initialSpringVelocity:(CGFloat)velocity
options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//在原来的基础上又增加了两个参数,实现了像弹簧一样的动画
//dampingRatio 这个参数是设置弹簧的阻尼比例
//velocity 这个是设置弹簧的最初速度
//从IOS7开始使用

+ (void)beginAnimations:(NSString *)animationID context:(void *)context
//开始指定的动画,context附加的应用程序信息用来传递给动画代理消息

+ (void)commitAnimations  
//结束一个动画块并开始当他在动画块外时。
//如果当前的动画块是最外层的动画块,当应用程序返回到循环运行时开始动画块。
动画在一个独立的线程中所有应用程序不会中断。使用这个方法,多个动画可以被实现。
查看setAnimationBeginsFromCurrentState:来了解如果开始一个动画当另外一个动画在播放的时候。

+ (Class)layerClass
//返回一个用于为实例创建图层的类

+ (void)performSystemAnimation:(UISystemAnimation)animation onViews:(NSArray *)views options:(UIViewAnimationOptions)options animations:(void (^)(void))parallelAnimations completion:(void (^)(BOOL finished))completion
//在一组视图上执行指定的系统动画,并可以并行自定义的动画
//其中parallelAnimations就是与系统动画并行的自定义动画
+ (void)performWithoutAnimation:(void (^)(void))actionsWithoutAnimation
//视图转换时不执行动画,参数为block对象,来执行你要执行的代码

+ (BOOL)areAnimationsEnabled
//判断视图是否允许使用动画
+ (BOOL)requiresConstraintBasedLayout
//返回视图是否依赖基于约束的布局系统

对视图动画的设置

+ (void)setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState
//设置动画在当前环境下是否开始播放

+ (void)setAnimationCurve:(UIViewAnimationCurve)curve
//设置动画块中的动画属性变化的曲线。主要是阶段性快慢的变化,比如先快后慢,先慢后快...
//动画曲线是动画运行过程中相对的速度。如果在动画块外调用这个方法将会无效

+ (void)setAnimationDelay:(NSTimeInterval)delay
//在动画块中设置动画的延迟属性(以秒为单位)

+ (void)setAnimationDelegate:(id)delegate
//设置动画消息的代理。

+ (void)setAnimationWillStartSelector:(SEL)selector
//动画将要开始时调用选择器选择的方法
//选择器应该选择的方法为- (void)animationDidStart:(NSString *)animationID context:(void *)context.
+ (void)setAnimationDidStopSelector:(SEL)selector
//动画结束后调用选择器选择的方法
//选择器应该选择的方法为- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context. 

+ (void)setAnimationDuration:(NSTimeInterval)duration
//设置动画的持续时间

+ (void)setAnimationRepeatAutoreverses:(BOOL)repeatAutoreverses
//设置动画块中的动画效果是否自动重复播放。

+ (void)setAnimationRepeatCount:(float)repeatCount
//设置动画重复的次数

+ (void)setAnimationsEnabled:(BOOL)enabled
//设置是否激活动画

+ (void)setAnimationStartDate:(NSDate *)startTime
//设置动画开始时间

+ (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache
//为指定的视图设置一个过渡,transition为过渡效果
//参数cache 如果是YES,那么在开始和结束图片视图渲染一次并在动画中创建帧;
   否则,视图将会在每一帧都渲染。例如缓存,你不需要在视图转变中不停的更新,
   你只需要等到转换完成再去更新视图。

视图过渡动画
+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
//创建指定视图的过渡动画
+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion
//创建制定视图之间转换的过渡动画

OK 以上就是UIView这个类的全部类方法。就到这里


今天跟大家分享了UIView 的类方法,若有错误,欢迎指正。—— LC





  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值