2017-09-01 51 views
0

我一直在爲此工作了幾個小時,而且我無法從UIScrollView中獲得期望的行爲作爲輔助視圖。我有一個名爲newDogView的輔助視圖,其中包含3個堆棧視圖。我添加newDogView並設置它在代碼中的約束。將UIScrollView作爲輔助視圖發生故障

我的意圖是呈現newDogView(這是960x320)作爲一個較小的看法(320x320)與水平滾動的能力。目前的結果是添加了視圖,但保持960x320。我認爲困惑不是來自堆棧視圖,就是它是次要視圖,而不是視圖控制器內部。

下面是相關代碼:

override func viewWillLayoutSubviews() { 
    newDogView.translatesAutoresizingMaskIntoConstraints = false 
    newDogScrollView.translatesAutoresizingMaskIntoConstraints = false 
    newDogScrollView.heightAnchor.constraint(equalToConstant: 320.0).isActive = true 
    newDogScrollView.widthAnchor.constraint(equalToConstant: 960.0).isActive = true 
    newDogScrollView.contentSize = CGSize(width: 320, height: 320) 
    newDogView.heightAnchor.constraint(equalToConstant: 320.0).isActive = true 
    newDogView.widthAnchor.constraint(equalToConstant: 320.0).isActive = true 
    newDogView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true 
    newDogView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true 
} 

我不知道我是否應該設置newDogView的高度和寬度。

這裏是我當前視圖層次和警告:

Here is my view hierarchy and warning.

這是我目前的分鏡:

Here is my storyboard.

我別在各方對Content ViewScroll View限制。

這裏有什麼看法目前看起來在我的iPhone: iphone photo

+0

如果你設置高度和寬度,那麼這是什麼行爲? – 3stud1ant3

+0

您需要確保您有約束條件才能隱式或顯式設置滾動視圖的大小,並且需要設置滾動視圖的內容大小屬性,以便可以正確調整內容的大小。 – Paulw11

+0

@ Paulw11請查看我更新的代碼和編輯。 –

回答

0

嘗試從

CGSize(width: 320, height: 320) 

CGSize(width: 960, height: 320) 

改變內容的大小,改變

newDogView.widthAnchor.constraint(equalToConstant: 960.0).isActive = true 

newDogView.widthAnchor.constraint(equalToConstant: 320.0).isActive = true 
+1

它似乎確實像UIScrollViews很糾結得到正確的。在我看來,視圖的寬度應該是你希望可見窗口的寬度。內容大小應該是滾動視圖內的東西的總寬度/高度。整齊!謝謝你的幫助。 –

+0

@CodyPotter是的,你已經明白了,你總是歡迎,歡呼聲 – 3stud1ant3