我是一個非常漂亮的iOS開發人員,並且遇到了我第一次需要滾動視圖。我需要設計的頁面有點複雜。由於我正在努力使它正確佈局,我決定創建一個超級簡單的場景,以便我可以確保我瞭解如何讓UIScrollViews工作。顯然它並沒有幫助,因爲事情不能正常工作,並且我在遵循幾個教程後被卡住了。iOS UIScrollView,我誤解了什麼?我無法滾動滾動視圖
我在Xcode 8.1和斯威夫特3.
截圖工作在這篇文章的末尾。
我有一個由scrollview和一個子視圖組成的場景,其中有兩個標籤。我已經將標籤設置爲〜700pt以嘗試進行滾動。沒有什麼滾動,你只能看到第一個標籤。此外,子視圖不會展開爲全高。
您可以在屏幕截圖中看到我的滾動視圖有約束將其固定到超級視圖的兩側。
子視圖也是一樣的。
標籤約束將它們放置在子視圖內,並且彼此間隔700pt。我認爲這會讓視圖達到滾動所需的高度。沒有約束錯誤。
我希望紅色的childview填充垂直空間,然後滾動。在這一點上,只要有東西在滾動,我就會採取任何佈局。沒有什麼是,我沒有得到什麼?
截圖:
(由於移除鏈接限制,因爲我仍然是一個新的SO用戶)
EDIT(16年6月12日):
我已經做了一些改動並接近一點。主要是,我建議在其他地方將其中一個標籤設置爲與滾動視圖等高。這現在給我「反彈」的效果,這意味着東西是滾動的東西;然而,我們仍然只處理一個內容屏幕,因爲隱藏在下面的第二個標籤被剪掉。
這就是事情立場:
edited hierarchy
edited screenshot
需要設置滾動視圖的內容的大小。如果你沒有明確地設置它,那麼它將計算它的內容的大小,這是子視圖的大小。由於您已將子視圖約束爲滾動視圖,因此子視圖的大小與滾動視圖的大小相同。嘗試在子視圖和滾動視圖之間設置約束,以便子視圖大於滾動視圖(例如,編輯「子視圖前導==滾動視圖前導」並將常量設置爲-300) – Paulw11
@ Paulw11我認爲具有標籤意味着內容大小?此外,我還對內容視圖以及頂部/底部/頂部/尾部設置了高度= 90的限制。否則,它會拋出一個錯誤。所以它確實有一個明確的高度。 – Philip
它會嘗試並推斷出內容大小,但由於您已將視圖限制在滾動視圖中,即它將以最終的內容大小爲前提,假設您需要基於水平間距的可見屏幕外的按鈕。看看如果將按鈕的前沿約束到視圖的前沿和另一個按鈕的後沿並保持間距,會發生什麼情況。您應該以衝突結束 – Paulw11