[转]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对象

上一篇:使用helm 部署Nginx


下一篇:后缀自动机SAM BZOJ 2806