天天看點

IOS開發之自動布局顯示網絡請求内容

  在上一篇部落格中詳細的介紹了ios開發中的相對布局和絕對布局,随着手機螢幕尺寸的改變,在app開發中為了适應不同尺寸的手機螢幕,用自動布局來完成我們想要實作的功能和效果顯得尤為重要。本人更喜歡使用相對布局。在下面要學習的例子中暫且先用我們的storyboard來設定我們元件的限制,以後會在代碼中給我們的元素建立限制。iphone4,5和将要釋出的iphone6的螢幕的大小都不一樣,是以螢幕的适配是我們搞app開發必須要考慮的問題。

  我們要完成一個什麼例子呢,先上兩張程式運作最終的結果圖,之後看着圖提出我們要實作的效果

               

IOS開發之自動布局顯示網絡請求内容

   界面要求:

      1.下面重新整理的按鈕在3.5和4.0寸屏上離下面的bottom的距離都是為20點。

      2.根據網絡請求文字的内容的多少來動态的調整lable的高度

      3.當label的高度變化時,下面的三個按鈕的位置也相對于lable的位置變化

   下面我們就以代碼結合着storyboard來實作上面的效果。

   sourcemanager.h中的代碼如下:

  sourcemanager.m的代碼如下:

2.實作我們的模拟sourcemanager的類以後就開始編寫我們的viewcontroller的類。

    (1)給lable和lable下面的四個按鈕在storyboard添加限制,步驟如下:

IOS開發之自動布局顯示網絡請求内容

      (2).給各個控件添加完限制後,我們需要在viewcontroller中添加我們要使用的控件和label的垂直限制,代碼如下

      

      (3).在viewdidload裡面配置我們的資料源

  

    (4).實作sourcemanager要回調的方法,代碼如下

    代碼說明:

      1.在更新label的垂直限制之前先把原有的constraint移除掉,注意:限制是加在限制元件的父類元件中。

      2.擷取在固定寬度,特定字型時顯示text需要空間的大小,傳回值是一個cgrect類型的變量。

      3.把擷取區域的高度設定成我們label的垂直限制的值。

  代碼補充:

  點選重新整理按鈕要出發的事件,點選重新整理按鈕會開啟請求,這樣回調才會有效。

    就是全部代碼和步驟,歡迎批評指正。

繼續閱讀