在XIB中加入約束 constraints
http://my.oschina.net/leejan97/blog/279760
autolayout自動布局技術在iOS6就已經推出了,但是因為很多人一開始不習慣使用xib編程,而是堅持使用代碼布局控件,所以autolayout并沒有普及的太快。但是現在隨著越來越多的人開始使用xib,怎樣適配不同屏幕的尺寸和橫豎屏,成了亟待解決的問題,好在兩年前就已經推出并且日臻完善的xib autolayout技術可以完美的解決。
首先需要說下需求:需要登陸LoginViewController視圖View上面的控件居中顯示。
下面我就以一個簡單的例子,來簡要說明使用autolayout的小技巧,
(1)拖拉一個View到LoginViewController.xib的視圖上面,調整高度為300,我下面都稱其為MiddleView吧,如下圖所示,
為了讓圖片垂直居中顯示,我們可以通過鍵盤的上(↑)下(↓)按鍵移動View。
(2)拖兩個UITextField和一個UIButton到View上面,同時設置了MiddleView的背景色為LightGray,如下圖所示,
(3)給MiddleView添加約束,使其水平和豎直居中,先選中MiddleView,然后按照下圖操作,
(4)給MiddleView添加寬高(width and height)的約束,上面僅僅添加水平和垂直居中,會有警告,這是因為添加的約束還不夠,如下圖所示,添加寬高的約束,
(5)給MiddleView上面的空間添加相互間的約束,這時候添加約束就簡單多了,先選中MiddleView上面所有的控件,只要點擊一個Add Missing Constraints,,如下圖所示,
通過上面一些簡單的操作,保證登陸界面中的控件不管在3.5寸還是4寸的屏幕上面,都能夠居中顯示了。運行效果如下所示,
3.5寸屏幕效果圖,
4寸屏幕效果圖,
總結:這里的autolayout只是簡單的內容,我也只是拋磚引玉。更強大的autolayout還有待個人自己去理解。我想要說的是技術的出現總是不會在第一時間用在實踐中,這就造成了技術出現了但是沒有人用,而過了很長時間以后,才意識到新出現的技術是多么的重要。所以,我們要樂于去擁抱新出現的技術,哪怕現在使用不上,但是慢慢地學習,總有一天會有所用處。這是我對xib和autolayout技術的普及速度的一些理解,現在還有很多人在使用代碼編寫控件,他們已經不再愿意相信xib和arc的好處,實際上這不利于自己的進步。我感覺現在使用xib和autolayout,讓編程不再那么枯燥無味,我們通過拖拖拉拉,調整大小,感覺自己真的像一個設計師一樣。
還有,現在蘋果iOS8新推出了許多特性,開放了很多的開發者權限,想想就是讓人激動,所以趕快學習起來吧。另外蘋果的swift語言,我們也要好好學習,因為它真的可能取代OC。那么多Java、.Net開發者之前想轉向iOS開發,但是限于設備和語言的鴻溝,他們一直沒有機會轉型,現在蘋果的swift提供的便利,給了很多新手和Web開發老手機會轉型,他們都在虎視眈眈,那么作為純粹的iOS開發者,你趕快行動起來吧。早點學好swift,早點受益。