UIView無(wú)所不談

[UIView]

UIView是所有視圖的父類腻菇,UIView的屬性和方法熙含,就是所有視圖的屬性和方法

1.UIView的基本屬性和方法

[1]frame (位置大胁鄣亍)

[2]backgroundColor(背景顏色)

[3]alpha(透明度烧栋,默認(rèn)值為1不透明,取值范圍:[0~1]0表示完全透明苇倡,1表示不透明)

[4]hidden(BOOL富纸,視圖是否隱藏[默認(rèn)值為NO])

[5]CALayer(視圖的繪圖)[layer.borderWidth邊框?qū)挾龋荩踠ayer.borderColor邊框的顏色][layer.cornerRadius設(shè)置圓角]

[6]userInteractionEnabled(BOOL,是否開(kāi)啟用戶交互旨椒,默認(rèn)為YES)

[7]opaque(設(shè)置是否不透明晓褪,默認(rèn)是YES)

[8]clipsToBounds(是否剪裁超出邊界的部分)

2.設(shè)置視圖尺寸位置的屬性

[1]frame(試圖相對(duì)窗口的坐標(biāo)和尺寸)

[2]bounds屬性(試圖相對(duì)于自己的坐標(biāo)和尺寸)

[3]center屬性(視圖的中心)

[4]transform屬性(視圖形變)

[注]frame、bounds综慎、center涣仿、transform 四個(gè)屬性相互關(guān)聯(lián),改變其中一個(gè)示惊,另外三個(gè)也會(huì)改變

只修改bounds的值好港,center值是不會(huì)改變的,frame會(huì)改變

修改frame會(huì)修改center的值涝涤,center會(huì)隨著frame的改變而改變

修改center值frame媚狰、bounds都會(huì)改變

3.父子視圖關(guān)系的屬性和方法

[1]window屬性 [視圖所在的窗口對(duì)象]

[2]superView屬性[當(dāng)前視圖的父視圖]每個(gè)視圖都有一個(gè)superView

[3]subView屬性 [視圖的直接子視圖]通過(guò)subviews:方法獲取的是self.view直接通過(guò)addSubVIew:方法添加的子視圖。不能獲取到子視圖上面的子視圖

[4]removeFromSuperview:方法阔拳,將視圖從父視圖中移除

[注]每一個(gè)子視圖只能有一個(gè)父視圖,當(dāng)我們將一個(gè)子視圖添加到另一個(gè)父視圖上面時(shí),他會(huì)脫離原來(lái)的父視圖糊肠。另外辨宠,我們指定子視圖的frame、bounds等屬性時(shí)货裹,它的值是相對(duì)于父視圖的相對(duì)值嗤形,而不是屏幕的絕對(duì)值,如果父視圖改變了位置弧圆,那么這些子視圖也會(huì)跟著改變赋兵。父視圖如果設(shè)置了隱藏或者透明效果,肯定也會(huì)影響到子視圖搔预。子視圖超出父視圖的部分霹期,是不能接受事件的。

[5]如果需要從父視圖中批量刪除子視圖拯田,可以使用下面的代碼:

NSArray *subViews = self.subViews;

if([subViews count] != 0) {

[subViews makeObjectPerformSelector:@selector(removeFromSuperview)];

}

4.關(guān)于父視圖的子視圖的層次關(guān)系

bringSunViewToFront:方法:將指定的子視圖移到層次的頂層

sendSubViewToBack:方法:將指定的子視圖放回到層次的底層

insertSubview:atIndex:方法:在指定的層次位置插入子視圖

- insertSubview:aboveSubview:方法:在指定的視圖層上面添加子視圖

- insertSubview:belowSubview:方法:在指定的視圖層下面添加子視圖[將某個(gè)視圖添加到某個(gè)視圖的下方历造,如果已經(jīng)添加到父視圖上,調(diào)用此方法船庇,只做視圖的交換位置吭产;如果未添加到父視圖,先將子視圖添加到父視圖再交換位置]

- exchangeSubviewAtIndex:withSubviewAtIndex:方法:交換兩個(gè)子視圖的層次[交換某兩個(gè)子視圖的位置鸭轮,交換時(shí)臣淤,必須要找到這兩個(gè)對(duì)應(yīng)位置的UIView,如果沒(méi)有找到將不做交換]

- isDescendantOfView:方法:判斷一個(gè)視圖是不是另一個(gè)視圖的子視圖

[注]相對(duì)于子視圖而言窃爷,父視圖始終在最下面

5荒典、層次與事件接收

[1]父視圖不能接收事件,則子視圖無(wú)法接收事件吞鸭。

[2]子視圖超出父視圖的部分寺董,不能接收事件。

[3]同一個(gè)父視圖下刻剥,最上面的視圖遮咖,首先遭遇事件,如果能夠響應(yīng)造虏,就不向下傳遞事件御吞。如果不能響應(yīng),事件向下傳遞漓藕。

6.UIView動(dòng)畫

[1]使用block語(yǔ)法設(shè)置動(dòng)畫的類方法

animateWithDuration:animations:類方法:用指定的持續(xù)時(shí)間完成通過(guò)Block指定的動(dòng)畫

[2]為視圖添加動(dòng)畫效果的類方法

beginAnimations:context:類方法:開(kāi)始一個(gè)動(dòng)畫

commitAnimations類方法:執(zhí)行動(dòng)畫

setAnimationStartDate:類方法:設(shè)置動(dòng)畫開(kāi)始時(shí)間

setAnimationDuration:類方法:設(shè)置動(dòng)畫持續(xù)時(shí)間

setAnimationDelay:類方法:設(shè)置延遲多少時(shí)間播放動(dòng)畫

setAnimationRepeatCount:類方法:設(shè)置動(dòng)畫重復(fù)播放次數(shù)

setAnimationRepeatAutoreverses:類方法:設(shè)置是否反向執(zhí)行動(dòng)畫

setAnimationTransition:forView:cache:類方法:設(shè)置動(dòng)畫的執(zhí)行效果以及作用于哪個(gè)視圖

說(shuō)明:UIView動(dòng)畫只能修改關(guān)于坐標(biāo)系統(tǒng)的屬性以及色彩和透明度

[1]縮放形變 ?CGAffineTransformMakeScale(-0.5, 1.5);[sx表示橫向縮放比例陶珠,sy表示縱向縮放比例]

[2]旋轉(zhuǎn)形變? CGAffineTransformMakeRotation(-M_PI_4);參數(shù)表示角度PI,正數(shù)為順時(shí)針?lè)较?/b>

[3]疊加形變?

// 第一個(gè)參數(shù):另外一個(gè)形變

CGAffineTransform angleTransform = CGAffineTransformMakeRotation(M_PI_4);

firstView.transform = CGAffineTransformScale(angleTransform, 0.5, 0.5);

// 根據(jù)現(xiàn)在視圖當(dāng)前的形變?cè)傩巫?/b>

firstView.transform = CGAffineTransformScale(firstView.transform, 0.5, 0.5);

7.拖沓靠模式

妥岱蹋靠模式,是控制父視圖改變大小時(shí),子視圖的變化方式

[1]- autoresizingMask屬性:當(dāng)父視圖改變大小時(shí)子視圖如何改變

[2]- autoresizesSubviews屬性:是否自動(dòng)調(diào)整子視圖大小

[3]- contentMode屬性:視圖大小改變時(shí)如何呈現(xiàn)其內(nèi)容

[4]- sizeToFit方法:調(diào)整視圖大小以適應(yīng)其子視圖

褪畲啵靠模式并非服務(wù)于視圖縮放渠啤,使用transform屬性scale視圖,根本是等比縮放添吗,子視圖也會(huì)等比縮放沥曹。停靠模式是服務(wù)于父視圖邊界修改后碟联,子視圖的重新布局妓美。

8.視圖相關(guān)回調(diào)方法

didAddSubview:方法:添加子視圖的回調(diào)方法

willRemoveSubview:方法:移除子視圖的回調(diào)方法

willMoveToSuperview:方法:視圖將要移到某個(gè)父視圖的回調(diào)方法

didMoveToSuperview:方法:視圖已經(jīng)移到某個(gè)父視圖的回調(diào)方法

willMoveToWindow:方法:視圖將要移到UIWindow對(duì)象的回調(diào)方法

didMoveToWindow:方法:視圖已經(jīng)移到UIWindow對(duì)象的回調(diào)方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鲤孵,隨后出現(xiàn)的幾起案子壶栋,更是在濱河造成了極大的恐慌,老刑警劉巖裤纹,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件委刘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鹰椒,警方通過(guò)查閱死者的電腦和手機(jī)锡移,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)漆际,“玉大人淆珊,你說(shuō)我怎么就攤上這事〖榛悖” “怎么了施符?”我有些...
    開(kāi)封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)擂找。 經(jīng)常有香客問(wèn)我戳吝,道長(zhǎng),這世上最難降的妖魔是什么贯涎? 我笑而不...
    開(kāi)封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任听哭,我火速辦了婚禮,結(jié)果婚禮上塘雳,老公的妹妹穿的比我還像新娘陆盘。我一直安慰自己,他們只是感情好败明,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布隘马。 她就那樣靜靜地躺著,像睡著了一般妻顶。 火紅的嫁衣襯著肌膚如雪酸员。 梳的紋絲不亂的頭發(fā)上蜒车,一...
    開(kāi)封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音沸呐,去河邊找鬼醇王。 笑死呢燥,一個(gè)胖子當(dāng)著我的面吹牛崭添,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叛氨,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼呼渣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了寞埠?” 一聲冷哼從身側(cè)響起屁置,我...
    開(kāi)封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仁连,沒(méi)想到半個(gè)月后蓝角,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饭冬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年使鹅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昌抠。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡患朱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炊苫,到底是詐尸還是另有隱情裁厅,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布侨艾,位于F島的核電站执虹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏唠梨。R本人自食惡果不足惜袋励,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姻成。 院中可真熱鬧插龄,春花似錦、人聲如沸科展。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)才睹。三九已至徘跪,卻和暖如春甘邀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背垮庐。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工松邪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哨查。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓逗抑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親寒亥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子邮府,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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

  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過(guò)程并不復(fù)雜溉奕,今天將帶大家一窺ios動(dòng)畫全貌褂傀。在這里你可以看...
    每天刷兩次牙閱讀 8,514評(píng)論 6 30
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果,實(shí)現(xiàn)這些動(dòng)畫的過(guò)程并不復(fù)雜加勤,今天將帶大家一窺iOS動(dòng)畫全貌仙辟。在這里你可以看...
    F麥子閱讀 5,115評(píng)論 5 13
  • Core Animation基礎(chǔ) Core Animation 利用了硬件加速和架構(gòu)上的優(yōu)化來(lái)實(shí)現(xiàn)快速渲染和實(shí)時(shí)動(dòng)...
    獨(dú)木舟的木閱讀 1,542評(píng)論 0 3
  • 初識(shí)iOS APP開(kāi)發(fā)#### 在iOS APP開(kāi)發(fā)中, main函數(shù)仍是程序的入口和出口, 但main函數(shù)不需要...
    DeanYan閱讀 6,191評(píng)論 0 3
  • 剛下好了簡(jiǎn)書。從知乎看到的這個(gè)軟件的推薦鳄梅,應(yīng)該很好用吧叠国,最近看的書比較多,對(duì)閱讀和寫作有了點(diǎn)興趣。 不知道這個(gè)...
    沙拉木閱讀 180評(píng)論 0 0