2015-03-18 39 views
0

我有一個UIScrollview和一個包含不同對象的視圖。 像這樣:將uiscrollview子視圖調整爲全屏

View 
UiScrollView 
    View -ContentView- 
    -Button 
    -Label 
    -... 
    -... 

在該內容查看,我設置上,下,左,右頁邊爲0(從滾動視圖這是上海華當然);我也設置了水平和垂直對齊中心;

然後我在contentView和scrollView的contentSize中添加我的所有視圖。

獲取scrollview lame last view的總高度並獲取他的MaxY來設置scrollview的高度。

這很好用,問題在於ContentView視圖沒有更新其大小,但是它的對象不起作用,而且他的背景只是在屏幕視圖中可見。

我附上了我的情況的圖片,以便更容易看到它。

enter image description here

任何想法,我怎麼能解決這個問題?

謝謝!

+0

你在按鈕和按鈕與contentView之間有約束嗎?你不應該在代碼中設置scrollView的高度,它應該由約束確定 – 2015-03-18 21:04:53

+0

當你設置scrollView.contentSize時,你還可以設置contentView的大小是否相同? – 2015-03-18 21:06:37

回答

1

這似乎是UIScrollView中對自動佈局的常見誤解。我希望你先看看這個文件。

https://developer.apple.com/library/ios/technotes/tn2154/_index.html

簡單地說,改變的UIScrollView的contentSize不會改變你的內容查看的大小。相反,如果你想在那裏使用自動佈局,contentView的約束決定了UIScrollView的contentSize。

您有兩種選擇。第一個選項是將contentView的translatesAutoresizingMaskIntoConstraints設置爲NO,並且每當更改UIScrollView的contentSize時,都將contentView的框架更改爲與contentSize大小相同的框架。另一個選項是將寬度和高度約束添加到您的contentView。這將確定UIScrollView的contentSize。

相關問題