5月30日-Autolayout

0530-AutoLayout

蘋果的屏幕尺寸

  • iPhone的尺寸
    • 3.5inch妙痹、4.0inch获诈、4.7inch勉失、5.5inch
  • iPad的尺寸
    • 7.9inch地技、9.7inch
  • 屏幕的方向

  • 豎屏
  • 橫屏
  • 什么是Autolayout

  • AutoLayout是一種“自動布局”技術,專門用來布局UI界面
  • Autolayout自iOS 6開始引入柴底,由于Xcode4的不給力篙议,當時并沒有得到很大推廣
  • 自iOS 7(Xcode 5)開始,Autolayout的開發(fā)效率得到很大的提升
  • 蘋果官方也推薦開發(fā)者盡量使用Autolayout來布局UI界面
  • Autolayout能很輕松地解決屏幕適配的問題
  • 介紹

  • 在Autolayout之前徒蟆,有Autoresizing可以作屏幕適配作谚,但局限性較大,有些任務根本無法完成
  • 相比之下鸿脓,Autolayout的功能比Autoresizing強大很多
  • Autolayout的2個核心概念
    • 參照
    • 約束
  • Autolayout的警告和錯誤

  • 警告
    • 控件的frame不匹配所添加的約束抑钟,比如約束控件的寬度為100,而控件現(xiàn)在寬度是110
  • 錯誤
    • 缺乏必要的約束野哭,比如只約束了寬度和高度在塔,沒有約束具體的位置
    • 兩個約束沖突,比如1個約束控件的寬度100拨黔,另外一個約束控件的位置為110
  • 代碼實現(xiàn)Autolayout的步驟

  • 利用NSLayoutConstraint類創(chuàng)建具體的約束對象
  • 添加約束對象到相應的View上

    - (void)addConstraint:(NSLayoutConstraint *)constraint;
    - (void)addConstraints:(NSArray *)constraints;
    
  • 代碼實現(xiàn)Autolayout的注意點

  • 要先禁止autoresizing功能蛔溃,設置View下面的屬性為NO
    view.translatesAutoresizingMaskIntoConstraints = NO;
    
  • 添加約束之前,一定要保證相關控件都已經(jīng)在各自的父控件上
  • 不用再給View設置frame
  • Autolayout的UILabel

  • 在沒有Autolayout之前篱蝇,UILable的文字內容總是居中顯示贺待,導致頂部和底部會有一大片空缺區(qū)域
  • 有Autolayout之后,UILabel的Bounds默認會自動包住所有的文字內容
  • 基于Autolayout的動畫

  • 在修改了約束之后零截,只要執(zhí)行下面的代碼麸塞,就能做動畫效果
    [UIView animateWithDuration:1.0 animations:^{
      [添加了約束的view layoutIfNeeded];
    }];
  • 最后編輯于
    ?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
    • 序言:七十年代末,一起剝皮案震驚了整個濱河市涧衙,隨后出現(xiàn)的幾起案子哪工,更是在濱河造成了極大的恐慌,老刑警劉巖绍撞,帶你破解...
      沈念sama閱讀 212,222評論 6 493
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件正勒,死亡現(xiàn)場離奇詭異,居然都是意外死亡傻铣,警方通過查閱死者的電腦和手機章贞,發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 90,455評論 3 385
    • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鸭限,你說我怎么就攤上這事蜕径。” “怎么了败京?”我有些...
      開封第一講書人閱讀 157,720評論 0 348
    • 文/不壞的土叔 我叫張陵兜喻,是天一觀的道長。 經(jīng)常有香客問我赡麦,道長朴皆,這世上最難降的妖魔是什么? 我笑而不...
      開封第一講書人閱讀 56,568評論 1 284
    • 正文 為了忘掉前任泛粹,我火速辦了婚禮遂铡,結果婚禮上,老公的妹妹穿的比我還像新娘晶姊。我一直安慰自己扒接,他們只是感情好,可當我...
      茶點故事閱讀 65,696評論 6 386
    • 文/花漫 我一把揭開白布们衙。 她就那樣靜靜地躺著钾怔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒙挑。 梳的紋絲不亂的頭發(fā)上宗侦,一...
      開封第一講書人閱讀 49,879評論 1 290
    • 那天,我揣著相機與錄音脆荷,去河邊找鬼凝垛。 笑死懊悯,一個胖子當著我的面吹牛蜓谋,可吹牛的內容都是我干的。 我是一名探鬼主播炭分,決...
      沈念sama閱讀 39,028評論 3 409
    • 文/蒼蘭香墨 我猛地睜開眼桃焕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了捧毛?” 一聲冷哼從身側響起观堂,我...
      開封第一講書人閱讀 37,773評論 0 268
    • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呀忧,沒想到半個月后师痕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
      沈念sama閱讀 44,220評論 1 303
    • 正文 獨居荒郊野嶺守林人離奇死亡而账,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
      茶點故事閱讀 36,550評論 2 327
    • 正文 我和宋清朗相戀三年胰坟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泞辐。...
      茶點故事閱讀 38,697評論 1 341
    • 序言:一個原本活蹦亂跳的男人離奇死亡笔横,死狀恐怖竞滓,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情吹缔,我是刑警寧澤商佑,帶...
      沈念sama閱讀 34,360評論 4 332
    • 正文 年R本政府宣布,位于F島的核電站厢塘,受9級特大地震影響茶没,放射性物質發(fā)生泄漏。R本人自食惡果不足惜晚碾,卻給世界環(huán)境...
      茶點故事閱讀 40,002評論 3 315
    • 文/蒙蒙 一礁叔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧迄薄,春花似錦琅关、人聲如沸。這莊子的主人今日做“春日...
      開封第一講書人閱讀 30,782評論 0 21
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至冶伞,卻和暖如春新症,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背响禽。 一陣腳步聲響...
      開封第一講書人閱讀 32,010評論 1 266
    • 我被黑心中介騙來泰國打工徒爹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芋类。 一個月前我還...
      沈念sama閱讀 46,433評論 2 360
    • 正文 我出身青樓隆嗅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親侯繁。 傳聞我的和親對象是個殘疾皇子胖喳,可洞房花燭夜當晚...
      茶點故事閱讀 43,587評論 2 350

    推薦閱讀更多精彩內容