UIView

注:只要有學(xué)到新的知識(shí)由缆,會(huì)不斷更新

UIView的常見屬性

  • NSArray *subviews

    • 這個(gè)屬性獲取的是所有子控件
    • 返回的是一個(gè)數(shù)組矩欠,數(shù)組元素的順序決定著子控件的顯示層級(jí)的順序(下標(biāo)越大,越顯示在上面)
  • CGRect frame //是一個(gè)view在父控件中的位置和大小

    • 里面有2個(gè)屬性幌羞,origin(位置寸谜,包含:x,y),size(尺寸:包含width,height)
    • origin中的x,y是以父空間的左上角為原點(diǎn)
  • CGRect bounds //一個(gè)view的邊界

    • 與frame的區(qū)別在于origin是(0,0),如果修改了后新翎,會(huì)影響到子控件的位置,
    • bounds相當(dāng)于一個(gè)本地坐標(biāo)系統(tǒng)程帕,子控件的參考bounds的坐標(biāo)來定位
  • tintColor UIView新增加了一個(gè)tintColor屬性住练,這個(gè)屬性定義了一個(gè)非默認(rèn)的著色顏色值地啰,其值的設(shè)置會(huì)影響到以視圖為根視圖的整個(gè)視圖層次結(jié)構(gòu)。它主要是應(yīng)用到諸如app圖標(biāo)讲逛、導(dǎo)航欄亏吝、按鈕等一些控件上,以獲取一些有意思的視覺效果盏混。

  • CALayer 圖層

    • 所有顯示的東西都要放到這個(gè)圖層上蔚鸥,uiview本身不具備顯示功能,是他內(nèi)部的layer才具有顯示功能许赃, 最主要止喷,可以添加動(dòng)畫
    • CALayer是定義在QuartzCore框架中,而UIColor,UIImage是定義在UIKit框架中的,CGImageRef,CGColorRef是定義在CoreGraphics框架中的,
    • QuartzCore和CoreGraphics是可以跨平臺(tái)使用的混聊,mac和ios都可以用弹谁,而UIKit只能用在IOS中,為了保證移植性.
    • 通過操作CALayer對(duì)象句喜,可以很方便的調(diào)整uiview的一些外觀屬性,有主層预愤,和內(nèi)容層
      • 陰影(shadowOpacity不透明度),圓角大小咳胃,邊框?qū)挾戎部担?/li>
      • 顏色,圖層的顏色都是CG(C語音的東西)的展懈,需要通過[UIColor color].CGColor (類似貝瑟路徑轉(zhuǎn)CGPath)來轉(zhuǎn)換
      • 邊框(border)销睁,圓角半徑(cornerRadiu)都是設(shè)置的是主層邊框,
      • 形變 (transform),可以3D的進(jìn)行改變存崖,用CATransform對(duì)應(yīng)的函數(shù)
      • position 是以父控件左上角為原點(diǎn)
      • anchorPoint(錨點(diǎn)),這個(gè)點(diǎn)只有l(wèi)ayer有冻记,UIview是不同的。以自己本身左上角為原點(diǎn)金句,類似bounds檩赢。他的X,Y的取值范圍是0~1,默認(rèn)為(0.5,0.5)
        • 這個(gè)點(diǎn)決定著layer身上哪個(gè)點(diǎn)會(huì)在position屬性所指的位置.旋轉(zhuǎn)的時(shí)候,繞著錨點(diǎn)旋轉(zhuǎn)贞瞒。
    • 改變layer的frame會(huì)影響到uiview.frame偶房,兩者會(huì)保持一致
    • 新建layer[CALayer layer],需要設(shè)置frame ,圖層只能添加到圖層上面,sublayer
      • contents,內(nèi)容層如果設(shè)置圖片的話军浆,需要轉(zhuǎn)為CGimage. 如
        layer.contents = (id)[UIImage imageNamed:@"阿貍頭像"].CGImage;
  • UIView與CALayer直接的選擇

    • UIView是繼承于UIrespond可對(duì)事件處理棕洋,
    • 如果只是為了顯示東西,用CALayer會(huì)比較高性能.

UIView的常見方法

  • addSubview

    • 添加一個(gè)子控件到指定的父控件中
    • 使用這個(gè)方法添加的子控件會(huì)放到subviews數(shù)組的最后
  • 下面方法可以調(diào)整子控件的subview數(shù)組中的順序

//將子控件view插入到subviews數(shù)組的index位置
-(void) insertSubview:(UIView *) view atIndex:(NSInteger)index;

//將子控件view顯示到子控件某一個(gè)subview的下面
- (void)insertSubview:(UIView *)view
         belowSubview:(UIView *)siblingSubview

//將子控件view顯示到子控件某一個(gè)subview的上面
- (void)insertSubview:(UIView *)view
         aboveSubview:(UIView *)siblingSubview

UIView的動(dòng)畫方法

  • 只有當(dāng)view有變化的時(shí)候會(huì)觸發(fā)
 [UIView animateWithDuration:2.0 animations:^{
      self.scrollView.contentOffset = CGPointMake(self.scrollView.contentOffset.x,0);
    }];

將會(huì)觸發(fā)動(dòng)畫的代碼放心這個(gè)block里面

注意點(diǎn)

  • 不能給成員變量任何一個(gè)view命名 loadView 否則會(huì)只剩下一個(gè)窗口

  • 轉(zhuǎn)換坐標(biāo)系的時(shí)候乒融,要分清楚需要轉(zhuǎn)換的空間的坐標(biāo)在哪個(gè)父控件中掰盘,然后轉(zhuǎn)到目標(biāo)坐標(biāo)系中。

    • 比如 btn在lockView要轉(zhuǎn)到self中赞季,
         //轉(zhuǎn)換坐標(biāo)愧捕,將在lockView的中心點(diǎn),轉(zhuǎn)換到self中,
        CGPoint btnCenter = [self.lockView convertPoint:btn.center toView:self];
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末申钩,一起剝皮案震驚了整個(gè)濱河市次绘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撒遣,老刑警劉巖邮偎,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異义黎,居然都是意外死亡禾进,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門廉涕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泻云,“玉大人,你說我怎么就攤上這事火的『撸” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵馏鹤,是天一觀的道長(zhǎng)征椒。 經(jīng)常有香客問我,道長(zhǎng)湃累,這世上最難降的妖魔是什么勃救? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮治力,結(jié)果婚禮上蒙秒,老公的妹妹穿的比我還像新娘。我一直安慰自己宵统,他們只是感情好晕讲,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般瓢省。 火紅的嫁衣襯著肌膚如雪弄息。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天勤婚,我揣著相機(jī)與錄音摹量,去河邊找鬼。 笑死馒胆,一個(gè)胖子當(dāng)著我的面吹牛缨称,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播祝迂,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼睦尽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了液兽?” 一聲冷哼從身側(cè)響起骂删,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎四啰,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粗恢,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柑晒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了眷射。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匙赞。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖妖碉,靈堂內(nèi)的尸體忽然破棺而出涌庭,到底是詐尸還是另有隱情,我是刑警寧澤欧宜,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布坐榆,位于F島的核電站,受9級(jí)特大地震影響冗茸,放射性物質(zhì)發(fā)生泄漏席镀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一夏漱、第九天 我趴在偏房一處隱蔽的房頂上張望豪诲。 院中可真熱鬧,春花似錦挂绰、人聲如沸屎篱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽交播。三九已至专肪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間堪侯,已是汗流浹背嚎尤。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留伍宦,地道東北人芽死。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像次洼,于是被迫代替她去往敵國(guó)和親关贵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

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

  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果卖毁,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜揖曾,今天將帶大家一窺iOS動(dòng)畫全貌。在這里你可以看...
    F麥子閱讀 5,110評(píng)論 5 13
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫效果亥啦,實(shí)現(xiàn)這些動(dòng)畫的過程并不復(fù)雜炭剪,今天將帶大家一窺ios動(dòng)畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,485評(píng)論 6 30
  • Core Animation其實(shí)是一個(gè)令人誤解的命名翔脱。你可能認(rèn)為它只是用來做動(dòng)畫的奴拦,但實(shí)際上它是從一個(gè)叫做Laye...
    小貓仔閱讀 3,707評(píng)論 1 4
  • UiView的一些代理 一.<NSCoding> 我們會(huì)在以下這些場(chǎng)合用到NSCoding: 1. XIB/Sto...
    愛笑的貓mi閱讀 1,163評(píng)論 0 1
  • 安全感是人類追求情感歸宿的重要因素,在一個(gè)熟悉的環(huán)境里生活届吁,是為了有安全感错妖,談戀愛結(jié)婚,得有安全感疚沐,找一個(gè)穩(wěn)定的工...
    寧默Mins閱讀 530評(píng)論 0 0