• [转]IOS UIView 之属性篇


    【转载自:IOS UIView 之属性篇 From CSDN】

    UIView 继承于UIResponder 
                所遵守的协议有 NSCoding 、UIAppearance、 UIAppearanceContainer 
                                     UIDynamicItem、 NSObject
    从继承的类我们就可以看出 UIView 这个类可以响应手势

    那么我们就从它的属性开始这一旅程吧

    UIView 之属性篇  Properties

    @property(nonatomic) CGFloat alpha  

    //设置视图的透明度
    //透明度的设置从最小0.0到1.0 ,1.0为完全不透明,
    //其中这个属性只影响当前视图,并不会影响其子视图


    @property(nonatomic, getter=isOpaque) BOOL opaque
    //决定当前视图是否是透明的

    @property(nonatomic) BOOL autoresizesSubviews
    //这个属性是决定当视图大小边界发生改变时,其子视图是否也跟着自动调整大小

    @property(nonatomic) UIViewAutoresizing autoresizingMask
    //决定当当前视图的父视图大小发生变化时,当前视图该怎么调整自己的size

    @property(nonatomic, copy) UIColor *backgroundColor  //当前视图的背景色

    @property(nonatomic) CGRect bounds  
    //当前视图的边界,包括大小和原点,这里是在系统坐标系下
    @property(nonatomic) CGRect frame
    //当前视图的边界,包括大小和原点,这里是在父视图的坐标系下
    @property(nonatomic) CGPoint center  //当前视图的中心,并指定是在父视图的坐标系下

    @property(nonatomic) BOOL clearsContextBeforeDrawing  
    //决定在视图重画之前是否先清理视图以前的内容,缺省值为YES
    //如果你把这个属性设为NO,那么你要保证能在 drawRect:方法中正确的绘画。如果你的代码
    //已经做了大量优化,那么设为NO可以提高性能,尤其是在滚动时可能只需要重新绘画视图的一部分

    @property(nonatomic) BOOL clipsToBounds  
    //决定子视图是否被限定在当前视图的bounds中,缺省值为NO

    @property(nonatomic) UIViewContentMode contentMode
    //决定当视图边界变时呈现视图内容的方式

    @property(nonatomic) CGFloat contentScaleFactor
    //应用到当前视图的比例Scale

    @property(nonatomic, getter=isExclusiveTouch) BOOL exclusiveTouch
    //决定当前视图是否是处理触摸事件的唯一对象

    @property(nonatomic, copy) NSArray *gestureRecognizers
    //当前视图所附加的手势识别器

    @property(nonatomic, getter=isHidden) BOOL hidden
    //当前视图是否隐藏

    @property(nonatomic, readonly, retain) CALayer *layer
    //用于视图渲染的核心动画层

    @property(copy, nonatomic) NSArray *motionEffects
    //当前视图的运动效果,IOS7才开始拥有

    @property(nonatomic, getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled
    //当前视图是否接受多点触控事件,缺省值为NO

    @property(nonatomic, copy) NSString *restorationIdentifier
    //该标示符决定该视图是否支持恢复状态,其实也只是个标示符而已
    //个人觉得就相当于配置表视图每个单元格时使用的标示符一样,可以直接在内存中重用,提高了性能
    //还有一点需注意,不应该简单的定义这个标示符,因为其所属的view controller ,还有view controller的
    //所有 父view controllers都必须有一个恢复标识符

    @property(nonatomic, readonly, copy) NSArray *subviews  //当前视图的所有子视图
    @property(nonatomic, readonly) UIView *superview //当前视图的父视图

    @property(nonatomic) NSInteger tag  //当前视图的标签

    @property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode
    //色调调整模式,开始用于IOS7
    @property(nonatomic, retain) UIColor *tintColor
    //色调颜色,开始用于IOS7

    @property(nonatomic) CGAffineTransform transform  //视图的仿射变换

    @property(nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled
    //决定与用户交互事件是否从被忽略并从事件队列中移除

    @property(nonatomic, readonly) UIWindow *window  //当前视图上的UIWindow对象

  • 相关阅读:
    软件RAID 0
    逻辑卷管理lvm
    磁盘配额quota
    合并 CentOS 6.8 的两个ISO镜像
    挂载mount
    非交互式添加分区
    磁盘分区-gdisk用法
    C博客作业01--分支、顺序结构
    C语言--第0次作业
    浅议正则表达式
  • 原文地址:https://www.cnblogs.com/crazypebble/p/3526633.html
Copyright © 2020-2023  润新知