我一直試圖達到這樣的設計3天,但我試過的一切都失敗了。 UIScrollView裏面的動態高度UILabel
這是我的佈局是如何。
- 藍色部分是一個UIScrollView,對主要 視圖有0 0 0 0約束。
- 在UIScrollView內部嵌套的是一個UIView,其中包含我所有的 內容,同時還具有對UIScrollView的0 0 0 0約束。我也 使UIView的寬度等於UIScrollView的寬度。
- 然後我添加了從上到下的元素。圖像很簡單,10爲內容視圖的頂部邊界,固定寬度和高度,並在容器中水平居中。
- 配置文件名稱標籤與圖像相同,但只有固定的高度。
- 包含3個標籤和2個動態高度標籤的UIView。我給了UIView頂部,左側和右側的約束,並留下底部,以便動態高度標籤能夠在需要時推動視圖的高度。 UILabels有0行設置。
- 第二個UIView,0 0 0 0和5 5 5 5內部每個標籤的約束條件
- UITableView裏面的UIView,視圖有一個固定的高度,表也是0 0 0。
- 按鈕5頂部,左5,右5。然後,我將容器UIView(包含所有這些項目)與按鈕的底部邊緣對齊,如本文最常見的答案:UIView with dynamic height multiple UILabel。
我還用這段視頻作爲參考,介紹如何實現UIScrollView,因爲這是我第一次。 https://www.youtube.com/watch?v=VE6DQGy4iS8
我不允許使用UIStackView BEC我們針對iOS的8
的2個顯而易見的問題,我現在所擁有的是:
我會確保您的所有用戶界面的頂部和底部的引腳或一個或另一個固定的高度適當約束。具體而言,您應該能夠將包含動態標籤的UIView的底部固定到下一個UIView的頂部,以在兩者之間具有固定間距,同時仍允許動態高度。 – zfetters
我的意見是固定的,如你所說。什麼確定了滾動視圖的高度? – Tarek
所以,你有你第一個UIView直接在你的滾動視圖下固定0,0,0,0。裏面是你的所有內容,所以一旦你添加了所有適當的約束,以確保一切都有它的寬度/高度佔你的家長UIView將實際上擴大的規模,如果它的內容增長(通過你的動態高度標籤),這反過來會增加你的UIScrollView的contentView大小。最重要的是你對內容的限制是正確的,你應該很樂意去。 – zfetters