• UIView属性及方法


     1 @property(nonatomic) CGFloat alpha //设置视图的透明度
     2 //透明度的设置从最小0.0到1.0 ,1.0为完全不透明,
     3 //其中这个属性只影响当前视图,并不会影响其子视图
     4 @property(nonatomic, getter=isOpaque) BOOL opaque
     5 //决定当前视图是否是透明的
     6 
     7 @property(nonatomic) BOOL autoresizesSubviews
     8 //这个属性是决定当视图大小边界发生改变时,其子视图是否也跟着自动调整大小
     9 
    10 @property(nonatomic) UIViewAutoresizing autoresizingMask
    11 //决定当当前视图的父视图大小发生变化时,当前视图该怎么调整自己的size
    12 
    13 @property(nonatomic, copy) UIColor *backgroundColor //当前视图的背景色
    14 
    15 @property(nonatomic) CGRect bounds 
    16 //当前视图的边界,包括大小和原点,这里是在系统坐标系下
    17 @property(nonatomic) CGRect frame
    18 //当前视图的边界,包括大小和原点,这里是在父视图的坐标系下
    19 @property(nonatomic) CGPoint center //当前视图的中心,并指定是在父视图的坐标系下
    20 
    21 @property(nonatomic) BOOL clearsContextBeforeDrawing 
    22 //决定在视图重画之前是否先清理视图以前的内容,缺省值为YES
    23 //如果你把这个属性设为NO,那么你要保证能在 drawRect:方法中正确的绘画。如果你的代码
    24 //已经做了大量优化,那么设为NO可以提高性能,尤其是在滚动时可能只需要重新绘画视图的一部分
    25 
    26 @property(nonatomic) BOOL clipsToBounds 
    27 //决定子视图是否被限定在当前视图的bounds中,缺省值为NO
    28 
    29 @property(nonatomic) UIViewContentMode contentMode
    30 //决定当视图边界变时呈现视图内容的方式
    31 
    32 @property(nonatomic) CGFloat contentScaleFactor
    33 //应用到当前视图的比例Scale
    34 
    35 @property(nonatomic, getter=isExclusiveTouch) BOOL exclusiveTouch
    36 //决定当前视图是否是处理触摸事件的唯一对象
    37 
    38 @property(nonatomic, copy) NSArray *gestureRecognizers
    39 //当前视图所附加的手势识别器
    40 
    41 @property(nonatomic, getter=isHidden) BOOL hidden
    42 //当前视图是否隐藏
    43 
    44 @property(nonatomic, readonly, retain) CALayer *layer
    45 //用于视图渲染的核心动画层
    46 
    47 @property(copy, nonatomic) NSArray *motionEffects
    48 //当前视图的运动效果,IOS7才开始拥有
    49 
    50 @property(nonatomic, getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled
    51 //当前视图是否接受多点触控事件,缺省值为NO
    52 
    53 @property(nonatomic, copy) NSString *restorationIdentifier
    54 //该标示符决定该视图是否支持恢复状态,其实也只是个标示符而已
    55 //个人觉得就相当于配置表视图每个单元格时使用的标示符一样,可以直接在内存中重用,提高了性能
    56 //还有一点需注意,不应该简单的定义这个标示符,因为其所属的view controller ,还有view controller的
    57 //所有 父view controllers都必须有一个恢复标识符
    58 
    59 @property(nonatomic, readonly, copy) NSArray *subviews //当前视图的所有子视图
    60 @property(nonatomic, readonly) UIView *superview //当前视图的父视图
    61 
    62 @property(nonatomic) NSInteger tag //当前视图的标签
    63 
    64 @property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode
    65 //色调调整模式,开始用于IOS7
    66 @property(nonatomic, retain) UIColor *tintColor
    67 //色调颜色,开始用于IOS7
    68 
    69 @property(nonatomic) CGAffineTransform transform //视图的仿射变换
    70 
    71 @property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled
    72 //决定与用户交互事件是否从被忽略并从事件队列中移除
    73 
    74 @property(nonatomic, readonly) UIWindow *window //当前视图上的UIWindow对象

    UIView类方法基本上都是与动画有关的:

     1 + (void)addKeyframeWithRelativeStartTime:(double)frameStartTime relativeDuration:(double)frameDuration animations:(void (^)(void))animations
     2 //指定一个关键帧的单个贞的时间和动画,从IOS7开始使用
     3 //这里说一下参数,第一个frameStartTime其实是个倍数从0到1,假设一个动画持续的时间是2秒
     4 //设置frameStartTime为0.5,那么后面设置的动画,将会在整体动画执行1秒后开始执行
     5 //第二个参数frameDuration同第一个,是指动画持续时间
     6 //第三个是一个block对象,里面就是你设置的所要执行的动画,无参数和返回值
     7 
     8 + (void)animateKeyframesWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewKeyframeAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
     9 //为当前视图创建一个可以用于设置基本关键帧动画的block对象,从IOS7开始使用
    10 //这个方法可以与上一个方法结合使用
    11 
    12 + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations
    13 //设置视图切换时的动画
    14 + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
    15 //同上,只是多了可以在动画结束后执行一些东西
    16 + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
    17 //增加了几个参数,分别是delay动画执行前的等待时间,options 动画方式
    18 + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDamping:(CGFloat)dampingRatio initialSpringVelocity:(CGFloat)velocity
    19 options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
    20 //在原来的基础上又增加了两个参数,实现了像弹簧一样的动画
    21 //dampingRatio 这个参数是设置弹簧的阻尼比例
    22 //velocity 这个是设置弹簧的最初速度
    23 //从IOS7开始使用
    24 
    25 + (void)beginAnimations:(NSString *)animationID context:(void *)context
    26 //开始指定的动画,context附加的应用程序信息用来传递给动画代理消息
    27 
    28 + (void)commitAnimations  //结束一个动画块并开始当他在动画块外时。
    29 //如果当前的动画块是最外层的动画块,当应用程序返回到循环运行时开始动画块。
    30 动画在一个独立的线程中所有应用程序不会中断。使用这个方法,多个动画可以被实现。
    31 查看setAnimationBeginsFromCurrentState:来了解如果开始一个动画当另外一个动画在播放的时候。
    32 
    33 + (Class)layerClass //返回一个用于为实例创建图层的类
    34 
    35 + (void)performSystemAnimation:(UISystemAnimation)animation onViews:(NSArray *)views options:(UIViewAnimationOptions)options animations:(void (^)(void))parallelAnimations completion:(void (^)(BOOL finished))completion
    36 //在一组视图上执行指定的系统动画,并可以并行自定义的动画
    37 //其中parallelAnimations就是与系统动画并行的自定义动画
    38 + (void)performWithoutAnimation:(void (^)(void))actionsWithoutAnimation
    39 //视图转换时不执行动画,参数为block对象,来执行你要执行的代码
    40 
    41 + (BOOL)areAnimationsEnabled //判断视图是否允许使用动画
    42 + (BOOL)requiresConstraintBasedLayout
    43 //返回视图是否依赖基于约束的布局系统
    44 
    45 对视图动画的设置
    46 
    47 + (void)setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState
    48 //设置动画在当前环境下是否开始播放
    49 
    50 + (void)setAnimationCurve:(UIViewAnimationCurve)curve
    51 //设置动画块中的动画属性变化的曲线。主要是阶段性快慢的变化,比如先快后慢,先慢后快...
    52 //动画曲线是动画运行过程中相对的速度。如果在动画块外调用这个方法将会无效
    53 
    54 + (void)setAnimationDelay:(NSTimeInterval)delay
    55 //在动画块中设置动画的延迟属性(以秒为单位)
    56 
    57 + (void)setAnimationDelegate:(id)delegate
    58 //设置动画消息的代理。
    59 
    60 + (void)setAnimationWillStartSelector:(SEL)selector
    61 //动画将要开始时调用选择器选择的方法
    62 //选择器应该选择的方法为- (void)animationDidStart:(NSString *)animationID context:(void *)context.
    63 + (void)setAnimationDidStopSelector:(SEL)selector
    64 //动画结束后调用选择器选择的方法
    65 //选择器应该选择的方法为- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context. 
    66 
    67 + (void)setAnimationDuration:(NSTimeInterval)duration
    68 //设置动画的持续时间
    69 
    70 + (void)setAnimationRepeatAutoreverses:(BOOL)repeatAutoreverses
    71 //设置动画块中的动画效果是否自动重复播放。
    72 
    73 + (void)setAnimationRepeatCount:(float)repeatCount
    74 //设置动画重复的次数
    75 
    76 + (void)setAnimationsEnabled:(BOOL)enabled
    77 //设置是否激活动画
    78 
    79 + (void)setAnimationStartDate:(NSDate *)startTime
    80 //设置动画开始时间
    81 
    82 + (void)setAnimationTransition:(UIViewAnimationTransition)transition forView:(UIView *)view cache:(BOOL)cache
    83 //为指定的视图设置一个过渡,transition为过渡效果
    84 //参数cache 如果是YES,那么在开始和结束图片视图渲染一次并在动画中创建帧;
    85    否则,视图将会在每一帧都渲染。例如缓存,你不需要在视图转变中不停的更新,
    86    你只需要等到转换完成再去更新视图。
    87 
    88 视图过渡动画
    89 + (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion
    90 //创建指定视图的过渡动画
    91 + (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion
    92 //创建制定视图之间转换的过渡动画
  • 相关阅读:
    a*b高精度数组算法
    vscode plugins
    vscode keys
    vscode setting.jsonxx
    vscode settings.json
    webstorm keys
    vscode extensions
    vscode wechat settings.json
    vscode sass live compiler
    webstorm crack
  • 原文地址:https://www.cnblogs.com/hereiam/p/3813495.html
Copyright © 2020-2023  润新知