UIView 屬性解析大全(嘔心瀝血)

autoresizingMask
自動調(diào)整子控件與父控件中間的位置刑棵,寬高                                 
 UIViewAutoresizingNone就是不自動調(diào)整。
UIViewAutoresizingFlexibleLeftMargin 自動調(diào)整與superView左邊的距離括授,保證與superView右邊的距離不變碍现。
UIViewAutoresizingFlexibleRightMargin 自動調(diào)整與superView的右邊距離叠聋,保證與superView左邊的距離不變煤惩。
UIViewAutoresizingFlexibleTopMargin 自動調(diào)整與superView頂部的距離畜晰,保證與superView底部的距離不變喻犁。
UIViewAutoresizingFlexibleBottomMargin 自動調(diào)整與superView底部的距離,也就是說上岗,與superView頂部的距離不變碧聪。
UIViewAutoresizingFlexibleWidth 自動調(diào)整自己的寬度,保證與superView左邊和右邊的距離不變液茎。
UIViewAutoresizingFlexibleHeight 自動調(diào)整自己的高度,保證與superView頂部和底部的距離不變辞嗡。
例:UIViewAutoresizingFlexibleLeftMargin 
 |UIViewAutoresizingFlexibleRightMargin 
自動調(diào)整與superView左邊的距離捆等,保證與左邊的距離和右邊的距離和原來距左邊和右邊的距離的比例不變。
比如原來距離為20续室,30栋烤,調(diào)整后的距離應(yīng)為68,102挺狰,即68/20=102/30明郭。
autoresizesSubviews
自動尺寸調(diào)整(autoresizesSubviews屬性聲明被設(shè)置為YES,
則其子視圖會根據(jù)autoresizingMask屬性的值自動進(jìn)行尺寸調(diào)整丰泊。
簡單配置一下視圖的自動尺寸調(diào)整掩碼常常就能使應(yīng)用程序得到合適的行為薯定;否則,
應(yīng)用程序就必須通過重載layoutSubviews方法來提供自己的實(shí)現(xiàn)瞳购。)
sizeThatFits
計(jì)算并返回的大小最適合它的子視圖的視圖话侄。(讓視圖計(jì)算最適合子視圖的大小,即能把全部子視圖顯示出來所需要的最小的size)
sizeToFit
得到最適合當(dāng)前包含它子視圖的尺寸(根據(jù)子視圖的大小位置,調(diào)整視圖年堆,使其恰好圍繞子視圖吞杭,也就是說自動適應(yīng)子視圖的大小,只顯示子視圖)
frame
在父視圖位置(參照點(diǎn)是变丧,父view坐標(biāo)系統(tǒng))
bounds
該view在本地坐標(biāo)系統(tǒng)中的位置和大小(參照點(diǎn)是芽狗,本地坐標(biāo)系統(tǒng))
center
frame中的中心點(diǎn)(決定當(dāng)前視圖是否是處理觸摸事件的唯一對象)
小屬性
hidden 隱藏視圖
alpha  透明度(0~1)
opaque 不透明度 (0~1)
userInteractionEnabled 交互
multipleTouchEnabled  支持多點(diǎn)觸控
exclusiveTouch            決定當(dāng)前視圖是否處理出門事件的唯一對象
clearsContextBeforeDrawing
決定在視圖重畫之前是否先清理視圖以前的內(nèi)容,缺省值為YES
如果你把這個(gè)屬性設(shè)為NO痒蓬,那么你要保證能在 drawRect:方法中正確的繪畫童擎。如果你的代碼
已經(jīng)做了大量優(yōu)化,那么設(shè)為NO可以提高性能谊却,尤其是在滾動時(shí)可能只需要重新繪畫視圖的一部分
clipsToBounds
決定子視圖是否被限定在當(dāng)前視圖的bounds中柔昼,缺省值為NO
ContentScaleFactor
應(yīng)用到當(dāng)前視圖的比例Scale
gestureRecognizers
當(dāng)前視圖所附加的手勢識別器
layer
用于視圖渲染的核心動畫層
motionEffects
當(dāng)前視圖的運(yùn)動效果(當(dāng)前視圖的運(yùn)動效果,IOS7才開始擁有)
restorationIdentifier
該標(biāo)示符決定該視圖是否支持恢復(fù)狀態(tài)炎辨,其實(shí)也只是個(gè)標(biāo)示符而已個(gè)人覺得就相當(dāng)于配置表視圖每個(gè)單元格時(shí)使用的標(biāo)示符一樣捕透,可以直接在內(nèi)存中重用,提高了性能還有一點(diǎn)需注意碴萧,不應(yīng)該簡單的定義這個(gè)標(biāo)示符乙嘀,因?yàn)槠渌鶎俚膙iew controller ,還有view controller的所有 父view controllers都必須有一個(gè)恢復(fù)標(biāo)識符
subviews                      當(dāng)前視圖的所有子視圖
superview                     當(dāng)前視圖的父視圖
tag                           當(dāng)前視圖標(biāo)簽
tintAdjustmentMode            色調(diào)調(diào)整模式破喻,開始用于iOS7
transform                     視圖仿射變換
userInteractionEnabled 決定與用戶交互事件是否從被忽略并從事件隊(duì)列中移除
windows                        當(dāng)前視圖上的UIWindow
UIViewContentModel
    UIViewContentModeScaleToFill,       縮放內(nèi)容到合適比例大小
    UIViewContentModeScaleAspectFit,    縮放內(nèi)容到合適的大小虎谢,邊界多余部分透明
    UIViewContentModeScaleAspectFill,   縮放內(nèi)容填充到指定大小,邊界多余的部分省略
    UIViewContentModeRedraw,        重繪視圖邊界
    UIViewContentModeCenter,        視圖保持等比縮放
    UIViewContentModeTop,           視圖頂部對齊
    UIViewContentModeBottom,        視圖底部對齊
    UIViewContentModeLeft,          視圖左側(cè)對齊
    UIViewContentModeRight,         視圖右側(cè)對齊
    UIViewContentModeTopLeft,       視圖左上角對齊
    UIViewContentModeTopRight,      視圖右上角對齊
    UIViewContentModeBottomLeft,    視圖左下角對齊
    UIViewContentModeBottomRight,   視圖右下角對齊
編輯結(jié)束/開始 視圖中的編輯狀態(tài)(一般用作于收鍵盤)
 (BOOL)endEditing:(BOOL)force  
關(guān)于響應(yīng)
- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
為視圖添加一個(gè)手勢識別器
- (void)removeGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
移除一個(gè)手勢識別器
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
開始一個(gè)手勢識別器
- (void)addMotionEffect:(UIMotionEffect *)effect
開始向視圖中添加運(yùn)動效果曹质,這么說其實(shí)比較模糊婴噩,比如說警告框會隨著手機(jī)的傾斜而傾斜,
   當(dāng)然這需要代碼實(shí)現(xiàn)羽德,只是我們現(xiàn)在可以檢測手機(jī)的運(yùn)動事件來做出相應(yīng)的響應(yīng)—從IOS7開始使用
管理視圖層次
- (void)addSubview:(UIView *)view   添加子視圖
- (void)removeFromSuperview         從父視圖中移除
- (void)bringSubviewToFront:(UIView *)view  移動指定的子視圖到最頂層
- (void)sendSubviewToBack:(UIView *)view  移動制定的子視圖到后方几莽,所有子視圖的下面
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index  在指定的位置插入子視圖,視圖的所有視圖其實(shí)組成了一個(gè)數(shù)組
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview  將指定的子視圖移動到指定siblingSubview子視圖的前面
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview  將指定的子視圖移動到指定siblingSubview子視圖的后面
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2  交換兩子視圖的位置
- (BOOL)isDescendantOfView:(UIView *)view  判斷接收對象是否是指定視圖的子視圖宅静,或與指定視圖是同一視圖
選擇加入基于約束的布局( Opting in to Constraint-Based Layout)
- (void)setTranslatesAutoresizingMaskIntoConstraints:(BOOL)flag  設(shè)置視圖自動調(diào)整尺寸的掩碼是否轉(zhuǎn)化為基于約束布局的約束
- (BOOL)translatesAutoresizingMaskIntoConstraints 判斷視圖是否將自動調(diào)整尺寸的掩碼是否轉(zhuǎn)化為基于約束布局的約束
管理約束
- (NSArray *)constraints   返回由視圖創(chuàng)建的約束
- (void)addConstraint:(NSLayoutConstraint *)constraint 為視圖布局或者子視圖添加一個(gè)約束章蚣,constraint約束只能在當(dāng)前視圖范圍內(nèi),包括子視圖
- (void)addConstraints:(NSArray *)constraints 添加一組約束
- (void)removeConstraint:(NSLayoutConstraint *)constraint 移除視圖上指定的約束
- (void)removeConstraints:(NSArray *)constraints 移除指定的一組約束
在基于約束布局的測量 (Measuring in Constraint-Based Layout)
- (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize 返回滿足持有約束的視圖的size
- (CGSize)intrinsicContentSize 返回接收對象的原本大小
- (void)invalidateIntrinsicContentSize 廢除視圖原本內(nèi)容的size
- (UILayoutPriority)contentCompressionResistancePriorityForAxis:(UILayoutConstraintAxis)axis 設(shè)置當(dāng)視圖要變小時(shí)姨夹,視圖的壓縮改變方式纤垂,是水平縮小還是垂直縮小,并返回一個(gè)優(yōu)先權(quán)
- (void)setContentCompressionResistancePriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis 設(shè)置優(yōu)先權(quán)
- (UILayoutPriority)contentHuggingPriorityForAxis:(UILayoutConstraintAxis)axis 與上邊相反是視圖的放大改變方式
- (void)setContentHuggingPriority:(UILayoutPriority)priority forAxis:(UILayoutConstraintAxis)axis
校準(zhǔn)視圖 (Aligning Views with Constraint-Based Layout)
- (CGRect)alignmentRectForFrame:(CGRect)frame 返回給定框架的視圖的對齊矩陣
- (CGRect)frameForAlignmentRect:(CGRect)alignmentRect 返回給定對齊矩形的視圖的frame
- (UIEdgeInsets)alignmentRectInsets 返回從視圖的frame上定義的對齊矩陣的邊框 
- (UIView *)viewForBaselineLayout 返回滿足基線約束條件的視圖
觸發(fā)基于約束的布局 (Triggering Constraint-Based Layout)
- (BOOL)needsUpdateConstraints  視圖的約束是否需要更新
- (void)setNeedsUpdateConstraints   設(shè)置視圖的約束需要更新
- (void)updateConstraints   為視圖更新約束
- (void)updateConstraintsIfNeeded   更新視圖和其子視圖的約束
調(diào)試基于約束的布局 (Debugging Constraint-Based Layout)
- (NSArray *)constraintsAffectingLayoutForAxis:(UILayoutConstraintAxis)axis 返回影響一個(gè)給定軸視圖布局的約束
- (BOOL)hasAmbiguousLayout   視圖的位置是否不完全指定
- (void)exerciseAmbiguityInLayout 在不同的有效值之間用一個(gè)模糊的布局隨機(jī)改變視圖的frame
繪畫和更新視圖 (Drawing and Updating the View)
- (void)drawRect:(CGRect)rect   在指定的區(qū)域繪畫視圖
- (void)setNeedsDisplay   標(biāo)記整個(gè)視圖的邊界矩形需要重繪
- (void)setNeedsDisplayInRect:(CGRect)invalidRect 標(biāo)記在指定區(qū)域內(nèi)的視圖的邊界需要重繪
格式化打印視圖內(nèi)容
- (UIViewPrintFormatter *)viewPrintFormatter  返回視圖的打印格式化
- (void)drawRect:(CGRect)area forViewPrintFormatter:(UIViewPrintFormatter *)formatter 指定區(qū)域和打印格式繪畫視圖內(nèi)容
保存和恢復(fù)狀態(tài) (Preserving and Restoring State)
- (void)encodeRestorableStateWithCoder:(NSCoder *)coder 編碼視圖的狀態(tài)信息
- (void)decodeRestorableStateWithCoder:(NSCoder *)coder 解碼一個(gè)視圖狀態(tài)信息
轉(zhuǎn)換視圖間坐標(biāo) (Converting Between View Coordinate Systems)
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view 轉(zhuǎn)換一個(gè)點(diǎn)從接受對象的坐標(biāo)系到指定視圖
- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view//與上面相反磷账,指定視圖坐標(biāo)中的一個(gè)點(diǎn)轉(zhuǎn)換為接收對象
- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view
- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view 參照上面兩個(gè)方法
視圖中的點(diǎn)擊測試
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
在指定點(diǎn)上點(diǎn)擊測試指定事件
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
測試指定的點(diǎn)是否包含在接收對象中
注意與視圖相關(guān)聯(lián)的改變 (Observing View-Related Changes)
- (void)didAddSubview:(UIView *)subview 通知視圖指定子視圖已經(jīng)添加
- (void)willRemoveSubview:(UIView *)subview 通知視圖將要移除指定的子視圖
- (void)willMoveToSuperview:(UIView *)newSuperview 通知視圖將要移動到一個(gè)新的父視圖中
- (void)didMoveToSuperview 通知視圖已經(jīng)移動到一個(gè)新的父視圖中
- (void)willMoveToWindow:(UIWindow *)newWindow 通知視圖將要移動到一個(gè)新的window中
- (void)didMoveToWindow 通知視圖已經(jīng)移動到一個(gè)新的window中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末峭沦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子逃糟,更是在濱河造成了極大的恐慌熙侍,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蛉抓,居然都是意外死亡庆尘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門巷送,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驶忌,“玉大人,你說我怎么就攤上這事笑跛「赌В” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵飞蹂,是天一觀的道長几苍。 經(jīng)常有香客問我,道長陈哑,這世上最難降的妖魔是什么妻坝? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮惊窖,結(jié)果婚禮上刽宪,老公的妹妹穿的比我還像新娘。我一直安慰自己界酒,他們只是感情好圣拄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著毁欣,像睡著了一般庇谆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凭疮,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天族铆,我揣著相機(jī)與錄音,去河邊找鬼哭尝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛剖煌,可吹牛的內(nèi)容都是我干的材鹦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼耕姊,長吁一口氣:“原來是場噩夢啊……” “哼桶唐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起茉兰,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤尤泽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坯约,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熊咽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了闹丐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片横殴。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖卿拴,靈堂內(nèi)的尸體忽然破棺而出衫仑,到底是詐尸還是另有隱情,我是刑警寧澤堕花,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布文狱,位于F島的核電站,受9級特大地震影響缘挽,放射性物質(zhì)發(fā)生泄漏瞄崇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一到踏、第九天 我趴在偏房一處隱蔽的房頂上張望杠袱。 院中可真熱鬧,春花似錦窝稿、人聲如沸楣富。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纹蝴。三九已至,卻和暖如春踪少,著一層夾襖步出監(jiān)牢的瞬間塘安,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工援奢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兼犯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓集漾,卻偏偏與公主長得像切黔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子具篇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容