我試圖在故事板中解決這些約束。我目前有一個容器視圖,它有一些完美的約束和定位。它根據屏幕大小等調整大小。它完美的作品。iOS故事板約束條件不能按預期運行
鏈接到該容器視圖的視圖控制器當前設置爲Freeform
,寬度爲306,高度爲315.在該視圖控制器的內部,我有一個具有以下約束的滾動視圖。
所以應該佔據整個視圖控制器。在該滾動視圖的內部,我有很多元素,按鈕,文本字段,標籤等。例如,我有一個固定在視圖頂部的文本字段(Top Space to Superview 0)。我也有拖尾和領先的空間超級視圖設置爲0.
如果我將視圖控制器從Freeform
更改爲Fixed
我期望滾動視圖更改大小(它的確如此),我期望它將寬度設置爲該文本字段與滾動視圖和視圖的寬度相同(不)。它保持寬度爲306.即使是它被設置爲拖尾並將空間設置爲超級視圖設置爲0.
這在諸如iPhone 4S的設備中產生問題。我希望此視圖的元素在寬度方面縮小以適應該容器視圖。但是,它只是允許水平滾動。
我想允許垂直滾動,因爲它是一種形式,並且有很多表單元素等等。所以對於較小的設備,他們應該能夠向下滾動查看所有元素。但是我希望元素可以根據寬度縮小或調整以適合較小的設備。
有關如何實現此目的的任何想法?
滾動視圖的contentSize被應用到其內容的限制設置。因此,如果您希望滾動視圖的*內容*根據視圖大小進行更改(而不是滾動視圖的大小和方向),則必須設置約束條件和/或重新定位*內容元素*以執行此操作。 – DonMag
@DonMag我不確定我是否理解。在文本字段中,我有'尾隨和領先的空間到超視圖設置爲0'。你能提供更多關於如何解決這個問題的細節?我必須添加或更改哪些限制才能使其工作?因爲我非常肯定'超級視圖設置爲0的拖尾和前導空間應該可以工作,而不是這樣,我根本不理解。 –
文本字段和其他視圖不是'UIScrollView'的直接子節點,不受它的大小控制。他們是內容視圖的子節點,它位於滾動視圖的內部和「下方」。它們的約束是相對於該內容視圖設置的,如果你想讓它們重新佈局,你將不得不改變contentView。您還必須更改滾動視圖的contentSize以匹配新內容視圖的邊界。 –