IOS UIView 之属性篇

从我一开始学IOS开始就一直在操纵各种视图,例如Button、label、TextFiled...
它们所有都继承与 UIView ,今天我就想来了解一下这个几乎是所有视图的父类。
由于这个类的文档有134页之多,所以我会分成几次把它写完

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对象

以上就是 UIView 这个类的全部属性。
好了今天就先到这里,接下来就要开始 UIView 中的方法了。
转接下篇 UIView 之方法篇:http://blog.csdn.net/lc_obj/article/details/18511511


这里只是把UIView 类的属性分享给大家,若有错误欢迎指正  —— LC
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值