【转载自: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对象