2010-10-07 111 views
3

如果我將UIScrollView高度設置爲self.view.frame.size.heightsetAutoresizingMask:UIViewAutoresizingFlexibleHeight,那麼當視圖加載UITabBarController和UINavigationBar時,滾動視圖框將調整大小以適合其大小。UIScrollView自動調整內容?

但是,內容大小(設置在:self.view.frame.size.height)不會改變。我猜 - 我似乎無法找到一個自動調整選項,爲什麼它會自動調整大小。

我的修補程序是將內容大小設置爲小於框架高度,因此內容將始終是框架的高度。 (例如:將內容大小高度設置爲10分)。

我只是想知道這是否是最好的方式去做這件事,或者如果有更好的方法?我在viewDidLoad中執行此代碼。

感謝

湯姆

回答

5

的UIScrollView的contentSize屬性定義跨度&放大顯示的視圖的大小。它通常與容器(即滾動視圖)大小沒有任何關係,但如果您確實需要根據滾動視圖大小調整內容大小,則可以重載layoutSubViews方法來執行此操作。

+0

好的......這是一個很好的答案。 :)有沒有什麼辦法可以在整個視圖顯示後設置內容大小?即:在導航欄和標籤欄顯示之後? ie2:afterViewDidAppear方法或其他。 – 2010-10-08 08:28:43

+0

爲什麼你會這樣做,而不是每次調整scrollView的大小時調整它? – VdesmedT 2010-10-08 09:37:37