autolayout高度動態改變的一些體會

  autolayout這個東西就不在此說明了,網上已經有不少大神作了很詳細的講解,本身也看了很多好文章,在這裏只是想記錄一下本身初步的一些認識與體會,這個東西畢竟仍是很強大,若是要用到更高級的用法還得在研究。佈局

  首頁這邊先描述一個動態cell,而後先進行一些必要的佈局,佈局完大概是這個樣子學習

主要是關注測試label,標題和圖片的佈局這邊只要固定邊距或固定寬高就能夠了。首先有沒有一種狀況就是cell高度固定,而後讓這個測試label動態增加到必定行數,假設測試label動態增加到2行,那咱們首頁就要設置label的屬性numLines = 2,接下來給測試label添加以下約束,這邊設置好頂部,左邊,右邊的三邊距約束,這樣cell就會自動 增加到你指定的行數,如今是長這樣,固然由於行數固定了,因此字數太多超多你的行數時,仍是會顯示不全的,可是有時候cell長同樣高的話可能會用到,可是你要預估好不要讓label行數過大而增加到蓋住你下面的控件。測試

  除了這種狀況還有一種也可能會常常碰到的那就是cell根據文字多少自增加,仍是以這個cell爲例子刪掉以前的約束,從新約束這個測試label,測試label不管底部有沒有控件必須必須知足到三邊的約束,加一個寬度。若是底部沒有控件,直接設置到底部約束。若是像這個底部有控件就設置到底部的約束,在設置好底部控件的約束。這邊暫時不清楚爲何四邊距約束沒法使label動態增加,還得多多學習啊~~。設置的約束大概是這樣子,這邊的寬度若是這樣固定是有問題的,並且有時須要根據屏幕改變這個寬度約束,還好咱們能夠像拉控件同樣讓這個寬度約束成爲一個屬性,而後在這個自定義cell裏面添加這個方法3d

 固然寬度約束是能夠改到適合的。設置完約束後,還須要在控制器的數據源方法中添加相似的以下代碼blog

最後這邊經過切換能夠看到動態改變cell的高度,此次筆記就這樣了,雖然頁面看起來有點醜~~圖片

相關文章
相關標籤/搜索