手把手AutoLayout - 兩個不等寬View,“共同”居中于Superview

刷微博看到nixzhuAutoLayout Tips庸推,Tip 1是基于純代碼實現(xiàn)常侦,由于本人比較懶,使用AutoLayout除非萬不得已予弧,否則是不會動代碼刮吧,這里使用可視化的方式來演示,只是覺得可能更便于理解掖蛤!


那么開始杀捻,新建工程就不用多說了,或者懶癌患者下載原作者工程(還是都下載吧蚓庭,方便看效果)致讥。

打開工程跑一盤,看下效果:


接下來我們開始純可視化操作(PS:這里先不解釋器赞,直接跟著操作即可):

首先打開原作者工程里的Main.storyboard垢袱,拖一個UIViewViewController里,這里為了方便觀察理解港柜,我把圖片背景色改了下请契。

接著拖一個UIImageViewUILabel灰色的UIView里。

我們看到此時并無任何約束的警告夏醉,那好爽锥,現(xiàn)在開始添加約束。
這里先給UIImageView添加上下左右的約束畔柔,constant值隨意氯夷。

添加完成之后開始報警告,先忽略靶擦,繼續(xù)拉約束腮考。


因為已經(jīng)給UIImageViewUILabel添加了間隙約束雇毫,所以只用繼續(xù)給UILabel添加踩蔚,的約束即可棚放。

其實這里給UILabel添加約束還有一種做法就是添加邊約束和Y軸上的約束即可。


這里我選擇第二種寂纪,同樣的效果席吴,約束能少則少,或者按照實際需求來就好捞蛋。
約束已經(jīng)添加完整孝冒,SDK還是在報警告。

這里SDK提示我們view上需要XY軸上需要約束來確定控件位置拟杉。這里也是兩個不等寬的 View庄涡,彼此相鄰,并“共同”居中于 Superview最后的步驟搬设。我們把view居中穴店,然后在給一個X軸上的約束即可,所以隨便搞一下拿穴,添加一個豎向居中(也就是Y軸居中)即可泣洞。到此我們?nèi)考s束添加完畢。
PS:這里為了更好區(qū)分默色,我給容器視圖整了個備注叫Container View球凰。

即便是添加完了約束,SDK還是提示不能確認位置腿宰。

大家不要慌呕诉,這里其實Container View不能確定位置原因在于UIImageView大小沒確定,我們只需要把UIImageView設置一個占位或者給個圖片即可吃度。

或者


這里以添加圖片為準甩挫,就此所有約束錯誤都以解決,只剩下frameWaring椿每。自行修復一下即可(All Views Update Frames)伊者。


最后我們來看看完成的效果。



總體效果出來了间护,間距自行調(diào)整删壮。手把手教程到此結(jié)束。


好了兑牡,po了一堆圖之后我們再來簡單說說核心思想:其實就是利用Storyboard里控件的Intrinsic Size特性,利用其手動占位或者系統(tǒng)自動幫忙占位的原理就可確認其widthheight税灌,然后在讓其四邊頂住Container View四邊均函,Container Viewwidthheight也就確認了亿虽,剩下的就是確認Container ViewX軸和Y軸上的位置,三個控件的約束確定完成苞也,Frame也就確認好了洛勉,也就達到了兩個不等寬的 View,彼此相鄰如迟,并“共同”居中于 Superview的目的收毫。
以此類推,利用兩個或者多個控件占位居中殷勘。

其實Tip 2 - 讓 AutoLayout 與 UIScrollView 合作無間也是類似原理此再,?確認好UIScrollViewContentSize即可,其實還有更多的玩法玲销,如需要手把手教程输拇,留言呼喚。

最后再給懶癌患者配張動態(tài)圖:


我的界面開發(fā)原則贤斜,能不寫代碼就不寫代碼策吠,讓我們的ViewController更瘦,邏輯更清晰更簡潔瘩绒。

歡迎吐槽和共同探討無代碼界面開發(fā)猴抹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市锁荔,隨后出現(xiàn)的幾起案子蟀给,更是在濱河造成了極大的恐慌,老刑警劉巖堕战,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坤溃,死亡現(xiàn)場離奇詭異,居然都是意外死亡嘱丢,警方通過查閱死者的電腦和手機薪介,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來越驻,“玉大人汁政,你說我怎么就攤上這事∽号裕” “怎么了记劈?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長并巍。 經(jīng)常有香客問我目木,道長,這世上最難降的妖魔是什么懊渡? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任刽射,我火速辦了婚禮军拟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘誓禁。我一直安慰自己懈息,他們只是感情好,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布摹恰。 她就那樣靜靜地躺著辫继,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俗慈。 梳的紋絲不亂的頭發(fā)上姑宽,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音姜盈,去河邊找鬼低千。 笑死,一個胖子當著我的面吹牛馏颂,可吹牛的內(nèi)容都是我干的示血。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼救拉,長吁一口氣:“原來是場噩夢啊……” “哼难审!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起亿絮,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤告喊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后派昧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體黔姜,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年蒂萎,在試婚紗的時候發(fā)現(xiàn)自己被綠了秆吵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡五慈,死狀恐怖纳寂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泻拦,我是刑警寧澤毙芜,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站争拐,受9級特大地震影響腋粥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一灯抛、第九天 我趴在偏房一處隱蔽的房頂上張望金赦。 院中可真熱鬧,春花似錦对嚼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杏愤,卻和暖如春靡砌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背珊楼。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工通殃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厕宗。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓画舌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親已慢。 傳聞我的和親對象是個殘疾皇子曲聂,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

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