autolayout自動(dòng)布局技術(shù)在iOS6就已經(jīng)推出了,但是因?yàn)楹芏嗳艘婚_(kāi)始不習(xí)慣使用xib編程,而是堅(jiān)持使用代碼布局控件,所以autolayout并沒(méi)有普及的太快。但是現(xiàn)在隨著越來(lái)越多的人開(kāi)始使用xib,怎樣適配不同屏幕的尺寸和橫豎屏,成了亟待解決的問(wèn)題,好在兩年前就已經(jīng)推出并且日臻完善的xib autolayout技術(shù)可以完美的解決。
首先需要說(shuō)下需求:需要登陸LoginViewController視圖View上面的控件居中顯示。
下面我就以一個(gè)簡(jiǎn)單的例子,來(lái)簡(jiǎn)要說(shuō)明使用autolayout的小技巧,
(1)拖拉一個(gè)View到LoginViewController.xib的視圖上面,調(diào)整高度為300,我下面都稱其為MiddleView吧,如下圖所示,
為了讓圖片垂直居中顯示,我們可以通過(guò)鍵盤(pán)的上(↑)下(↓)按鍵移動(dòng)View。
(2)拖兩個(gè)UITextField和一個(gè)UIButton到View上面,同時(shí)設(shè)置了MiddleView的背景色為L(zhǎng)ightGray,如下圖所示,
(3)給MiddleView添加約束,使其水平和豎直居中,先選中MiddleView,然后按照下圖操作,
(4)給MiddleView添加寬高(width and height)的約束,上面僅僅添加水平和垂直居中,會(huì)有警告,這是因?yàn)樘砑拥募s束還不夠,如下圖所示,添加寬高的約束,
(5)給MiddleView上面的空間添加相互間的約束,這時(shí)候添加約束就簡(jiǎn)單多了,先選中MiddleView上面所有的控件,只要點(diǎn)擊一個(gè)Add Missing Constraints,,如下圖所示,
通過(guò)上面一些簡(jiǎn)單的操作,保證登陸界面中的控件不管在3.5寸還是4寸的屏幕上面,都能夠居中顯示了。運(yùn)行效果如下所示,
3.5寸屏幕效果圖,
4寸屏幕效果圖,
總結(jié):這里的autolayout只是簡(jiǎn)單的內(nèi)容,我也只是拋磚引玉。更強(qiáng)大的autolayout還有待個(gè)人自己去理解。我想要說(shuō)的是技術(shù)的出現(xiàn)總是不會(huì)在第一時(shí)間用在實(shí)踐中,這就造成了技術(shù)出現(xiàn)了但是沒(méi)有人用,而過(guò)了很長(zhǎng)時(shí)間以后,才意識(shí)到新出現(xiàn)的技術(shù)是多么的重要。所以,我們要樂(lè)于去擁抱新出現(xiàn)的技術(shù),哪怕現(xiàn)在使用不上,但是慢慢地學(xué)習(xí),總有一天會(huì)有所用處。這是我對(duì)xib和autolayout技術(shù)的普及速度的一些理解,現(xiàn)在還有很多人在使用代碼編寫(xiě)控件,他們已經(jīng)不再愿意相信xib和arc的好處,實(shí)際上這不利于自己的進(jìn)步。我感覺(jué)現(xiàn)在使用xib和autolayout,讓編程不再那么枯燥無(wú)味,我們通過(guò)拖拖拉拉,調(diào)整大小,感覺(jué)自己真的像一個(gè)設(shè)計(jì)師一樣。
還有,現(xiàn)在蘋(píng)果iOS8新推出了許多特性,開(kāi)放了很多的開(kāi)發(fā)者權(quán)限,想想就是讓人激動(dòng),所以趕快學(xué)習(xí)起來(lái)吧。另外蘋(píng)果的swift語(yǔ)言,我們也要好好學(xué)習(xí),因?yàn)樗娴目赡苋〈鶲C。那么多Java、.Net開(kāi)發(fā)者之前想轉(zhuǎn)向iOS開(kāi)發(fā),但是限于設(shè)備和語(yǔ)言的鴻溝,他們一直沒(méi)有機(jī)會(huì)轉(zhuǎn)型,現(xiàn)在蘋(píng)果的swift提供的便利,給了很多新手和Web開(kāi)發(fā)老手機(jī)會(huì)轉(zhuǎn)型,他們都在虎視眈眈,那么作為純粹的iOS開(kāi)發(fā)者,你趕快行動(dòng)起來(lái)吧。早點(diǎn)學(xué)好swift,早點(diǎn)受益。
聯(lián)系客服