UIView部分方法介绍(主要是用得相对较少的方法)

    xiaoxiao2025-10-09  10

    类方法: //返回一个用于为实例创建图层的类 + (Class)layerClass //为当前视图创建一个可以用于设置基本关键帧动画的block对象,从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 //实现了像弹簧一样的动画 //dampingRatio 设置弹簧的阻尼比例 //velocity 设置弹簧的最初速度 //从IOS7开始使用 + (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 //开始指定的动画,context附加的应用程序信息用来传递给动画代理消息 //如果当前的动画块是最外层的动画块,当应用程序返回到循环运行时开始动画块。 动画在一个独立的线程中所有应用程序不会中断。使用这个方法,多个动画可以被实现。 查看setAnimationBeginsFromCurrentState:来了解如果开始一个动画当另外一个动画在播放的时候。 + (void)beginAnimations:(NSString *)animationID context:(void *)context  //结束一个动画块并开始当他在动画块外时。 + (void)commitAnimations  //在一组视图上执行指定的系统动画,并可以并行自定义的动画 //其中parallelAnimations就是与系统动画并行的自定义动画 + (void)performSystemAnimation:(UISystemAnimation)animation onViews:(NSArray *)views options:(UIViewAnimationOptions)options animations:(void (^)(void))parallelAnimations completion:(void (^)(BOOL finished))completion //视图转换时不执行动画,参数为block对象,来执行你要执行的代码 + (void)performWithoutAnimation:(void (^)(void))actionsWithoutAnimation //判断视图是否允许使用动画 + (BOOL)areAnimationsEnabled  //返回视图是否依赖基于约束的布局系统 + (BOOL)requiresConstraintBasedLayout ///对视图动画的设置 //设置动画在当前环境下是否开始播放 + (void)setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState //动画结束后调用选择器选择的方法 //选择器应该选择的方法为

    - (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context. //设置是否激活动画 + (void)setAnimationsEnabled:(BOOL)enabled //设置动画开始时间 + (void)setAnimationStartDate:(NSDate *)startTime //为指定的视图设置一个过渡,transition为过渡效果 //参数cache 如果是YES,那么在开始和结束图片视图渲染一次并在动画中创建帧;    否则,视图将会在每一帧都渲染。例如缓存,你不需要在视图转变中不停的更新,    你只需要等到转换完成再去更新视图。 + (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache 视图过渡动画 //创建指定视图的过渡动画 + (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 实例方法: // 返回一个布尔值指出接收者是否是给定视图的子视图或者指向那个视图 - (BOOL)isDescendantOfView:(UIView *)view      //返回视图的打印格式化 - (UIViewPrintFormatter *)viewPrintFormatter //指定区域和打印格式绘画视图内容 - (void)drawRect:(CGRect)area forViewPrintFormatter:(UIViewPrintFormatter *)formatter  //开始向视图中添加运动效果,这么说其实比较模糊,比如说警告框会随着手机的倾斜而倾斜, //当然这需要代码实现,只是我们现在可以检测手机的运动事件来做出相应的响应 - (void)addMotionEffect:(UIMotionEffect *)effect //编码视图的状态信息 - (void)encodeRestorableStateWithCoder:(NSCoder *)coder //解码一个视图状态信息 - (void)decodeRestorableStateWithCoder:(NSCoder *)coder //这个方法制作了一个UIView的副本 - (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates - (UIView *)resizableSnapshotViewFromRect:(CGRect)rect                        afterScreenUpdates:(BOOL)afterUpdates                             withCapInsets:(UIEdgeInsets)capInsets //它允许你截取一个UIView或者其子类中的内容 - (BOOL)drawViewHierarchyInRect:(CGRect)rect              afterScreenUpdates:(BOOL)afterUpdates

    //是否能被设置为高亮 - (BOOL)canBecomeFocused + (NSTimeInterval)inheritedAnimationDuration

    转载请注明原文地址: https://ju.6miu.com/read-1302968.html
    最新回复(0)