2015-11-19 162 views
4

我按照和(其中大部分是相同的)exmaples的數目如https://www.youtube.com/watch?v=UnQsFlMGDsI自動佈局和滾動型寬度

我opena新項目時,在下降滾動型,然後「內容「視圖中,將scrollview限制爲它的超視圖(頂部,底部,左側和右側),然後將內容視圖限制在滾動視圖的內部,然後將寬度和高度分配給滾動視圖超級視圖。滾動查看紅色和內容查看黑色。

我將文本框放入然後將其限制在內容視圖的頂部,引導和尾部。這一切在故事板上看起來都不錯,但是當我運行它時,內容視圖不存在,文本框是其中的對象的寬度(基於文本框)。

None fixed height of content view

我然後更改內容視圖HIGHT爲固定800和現在我可以看到的內容的視圖,但寬度由文本框(未周圍的其他方法),即,如果我的尺寸固定添加更多的「測試信息」文本,這一切都變得更寬。

enter image description here

這不是我真正的項目,但我只是想消除的原因所以沒有這個從無到有,它確實是相同的。我看不到我缺少的東西(希望打勾)。

如果我強制將文本字段設置爲700寬度,則它將水平向左滾動,我看不到如何將內容視圖寬度固定爲屏幕大小。

回答

9

修訂ANSWER

對不起,我以前張貼的答案。我錯過了一些要點。在這裏,我將逐步向你解釋需要完成什麼(請參閱截圖)。

這裏是制約整個視圖中添加的概述:

enter image description here

首先要做的,添加了滾動,並且相對於上海華加約束的前置,頂部和底部。

enter image description here

接下來要做的,添加UIView滾動視圖內。現在這部分是棘手的,您剛添加的視圖需要充當滾動視圖的內容視圖。因此,無論您需要添加到滾動視圖的視圖實際上應該放在此視圖中。對於這個視圖,設置約束,如頂部,底部,前導和尾隨。但棘手的部分是,將底層約束設置爲超級查看(即滾動視圖)爲低優先級(250)的零。還要將此視圖的寬度設置爲等於滾動視圖的超級視圖,即ViewController的視圖以及滾動視圖。

內容視圖

enter image description here

約束

enter image description here

底部約束設置爲零低優先級。

enter image description here

相等的寬度,參照滾動視圖的上海華以及滾動視圖。

底部約束被設置爲低優先級,因爲爲了滾動起作用,內部視圖的約束需要被賦予更高的優先級,當涉及底部視圖約束時。

現在在內容視圖中添加所需的視圖,在您的案例文本字段。添加關於內容視圖的所有必需約束(頂部,前導,尾部,底部)。添加您希望添加的任意數量的子視圖,但要確保您針對內容視圖指定最底部視圖的底部約束,並且也要求具有所需的優先級。 下面是我的內容視圖中添加文本字段的約束:

enter image description here

注意,在這種情況下,底部約束要求優先權。

最終輸出:

enter image description here

黃色=視圖控制器的觀點,綠色=滾動視圖,紅色=容器視圖,粉色=文本字段。

對於任何需要製作水平滾動視圖的人來說,只需使用高度和底部約束切換內容視圖的寬度以及尾部約束。也就是說,用超視圖和滾動視圖設置相等的高度,並拖尾空間以低優先級滾動視圖。

+0

我沒有的兩個部分是將內容視圖的寬度設置爲scrollView和「主」視圖。而且也不設置低底部約束。謝謝。 –

+0

不旋轉思考,消失在風景中,我知道是另一個問題,但任何想法? –

+0

景觀問題在於,在這種情況下需要更新約束條件。使用尺寸類別併爲景觀佈局應用類似的約束。 :-) –