iOS系统学习UIView属性

本文献给所有想学习iOS的开发人员(PS:像提高技术水平还得靠自己多多实践)

@property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;

表示能否与用户交互

@property(nonatomic)NSInteger tag 

表示控件的唯一标识,可通过父控件的viewWithTag:tag方法获取该控件

@property(nonatomic,readonly,strong) CALayer *layer;

与该控件对应的图层,用来做动画,添加边框及修改边框样式等 功能强大

@property (nonatomic) UISemanticContentAttribute semanticContentAttribute

改变界面布局方式,对于有些国家来说,他们是从右往左阅读的 下面是强制效果和未用效果 e.g

self.view.semanticContentAttribute=UISemanticContentAttributeForceRightToLeft
默认值 

@property(nonatomic) CGRect frame;

frame是一个结构体由origin,size两个结构体组成控件的位置以及大小,与bounds的区别是该控件的frame是相对于父视图位置的所以orign默认永远都是(在父视图上的x位置,父视图上y的位置),而bounds是相对于本身的所以他的orign默认永远都是(0,0)

@property(nonatomic) CGRect bounds

 控件的大小

@property(nonatomic) CGPoint center  ;

控件的中心点 相对于父视图而言计算方式x =父视图位置x+该控件宽度的一半 y =父视图位置y+该控件高度的一半

@property(nonatomic) CGAffineTransform transform;

仿射变化,可做动画 是一个3行2列的矩阵  用来对控件进行位移,缩放,旋转

@property(nonatomic) CGFloat contentScaleFactor

界面内容与屏幕的缩放比例 默认为1.000

@property(nonatomic,getter=isMultipleTouchEnabled) BOOL multipleTouchEnabled;

是否支持多点触摸默认为NO

@property(nonatomic,getter=isExclusiveTouch) BOOL exclusiveTouch;

解决多点触摸时的事件冲突 默认为NO

@property(nonatomic) BOOLautoresizesSubviews

是否自动调整该控件子视图的大小 默认为YES会根据属性autoresizingMask的设置自动调整大小布局用的没有AutoLayout强大

@property(nonatomic) UIViewAutoresizing autoresizingMask;

如果autoresizesSubviews被设置为YES就会按照autoresizingMask的值,让子视图做适应的调整

@property(nullable, nonatomic,readonly) UIView*superview;

该控件所在的父视图

@property(nonatomic,readonly,copy) NSArray<__kindof UIView *> *subviews;

添加到该控件的所有子视图返回该所有子视图组成的不可变数组

property(nullable, nonatomic,readonly) UIWindow*window;

该控件所处的窗口

@property (nonatomic) UIEdgeInsets layoutMargins 

该控件的上下左右的外边距默认都为8 使用了AutoLayout并且设置布局与layoutMargins人上下左右一个方向的关系,可以更改该方向的值,

@property (nonatomic) BOOL preservesSuperviewLayoutMargins

布局是否受父视图的LayoutMargins的影响默认为NO如果为YES则布局时会忽略父视图默认的LayoutMargins进行布局(测试时只有left受影响)即该控件的leftMargin=指定值+父视图默认的leftMarginleftMargin=指定值;他们的frame不变更改父视图LayoutMargins还是原来{8,8,8,8}的位置

@property(readonly,strong) UILayoutGuide *layoutMarginsGuide

布局引导的区域

@property (nonatomic, readonly, strong) UILayoutGuide *readableContentGuide

与layoutMarginsGuide属性一样不过只能读取

@property(nonatomic)BOOL clipsToBounds;

当子视图超过父视图时会裁剪超过父视图大小的区域 默认为NO表示不裁剪

@property(nullable, nonatomic,copy) UIColor *backgroundColor

设置控件的背景颜色默认为nil

@property(nonatomic)CGFloat alpha

;设置alpha的透明度,当alpha小于等于0.01时是不可以与用户交互的,还有就是alpha会影响子视图的可见性

@property(nonatomic,getter=isOpaque) BOOL opaque;

默认为YES与图形绘制性能优化有关表示不透明时,(当设置opaque为NO)系统在绘制该控件即根据该控件颜色绘制, 如果该控件是透明的可能会出现不可预知的错误(此时alpha =0,opaque=YES)

@property(nonatomic)BOOLclearsContextBeforeDrawing;

绘制之前清除上下文

@property(nonatomic,getter=isHidden) BOOLhidden

;控件不可见,不能与用户交互

@property(nonatomic)UIViewContentMode contentMode

调整控件内容的缩放比例 比如UIImageView的图片

@property(nullable, nonatomic,strong)UIView*maskView

使用view作为控件的蒙版使用时如果不指定不指定大小 表示对这个控件的区域进行蒙版

当指定了frame时以及background时表示这个frame的区域取消蒙版

@property(null_resettable, nonatomic, strong) UIColor *tintColor 

着色能够改变某些控件轮廓文字,滑动条镂空图的颜色该属性受如果为默认值(PS:UISegementedControl UISlider等),则受superView父视图的tintColor的影响,否则为该属性的color

@property(nonatomic) UIViewTintAdjustmentMode tintAdjustmentMode tintColor的颜色渲染方式默认为UIViewTintAdjustmentModeNormal此时受父视图的这个属性影响如果为UIViewTintAdjustmentModeDimmed则控件的颜色会变为灰色

@property (copy, nonatomic) NSArray<__kindof UIMotionEffect *> *motionEffects

返回该控件所有有motionEffect所组成的数组UIMotionEffect用于做视觉差效果,感觉适备的摆动进行做动画

@property(nonatomic,readonly) NSArray<__kindof NSLayoutConstraint *> *constraints

(如果勾选并使用了AutoLayout)返回该控件的布局约束组成的数组

@property(nonatomic) BOOL translatesAutoresizingMaskIntoConstraints NS_AVAILABLE_IOS(6_0);默认为YES

如果使用AutoLayout来进行布局,此时AutoresizingMask这个布局方式会转换为适当的AutoLayout的约束为NO则不转换

@property (nullable, nonatomic, copy) NSString *restorationIdentifier

旋转标识符

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容