2012-11-08 37 views
0

我有一個使用故事板的iPad應用程序。我有一個UIView的場景,在上半部分有一個額外的UIView(我用它),下半部分有一個UIScrollView(我需要分開保存它們)。我有一個很難搞清楚如何使用這個代碼,我從另一個問題SO複製解決的UIView:如何設置作爲子視圖的UIScrollView的ContentSize?

CGFloat scrollViewHeight = 0.0f; 
for (UIView* view in scrollView.subviews) 
{ 
    scrollViewHeight += view.frame.size.height; 
} 

[scrollView setContentSize:(CGSizeMake(320, scrollViewHeight))]; 

我看了上面的代碼的方式,我應該使用的UIView,但這是沒有道理的,因爲UIView覆蓋了整個「場景/窗口」。對我來說使用UIScrollView來計算ContentSize更有意義。

那麼,我應該用什麼?

+0

你能再解釋一下問題是什麼以及你想做什麼?那個代碼應該從你的地方做些什麼? – pedros

+0

我複製的代碼應該找到包含框架的高度並設置UIScrollView的ContentSize。 問題是我不知道我是否應該使用UIView或UIScrollView。該代碼沒有被評論,並且當UIScrollView是需要該信息的那個時,獲得UIView的幀高度對我來說絕對沒有意義。 HTH – SpokaneDude

回答

2

不完全清楚你在問什麼。一旦你有了滾動視圖的引用,無論是通過標籤,屬性或其他方法,你應該將其內容大小設置爲所有內容的寬度和高度(考慮到重疊等)。防爆。如果您在滾動視圖中有一個600×900點的圖像視圖,則可以將其大小設置爲600×900 CGSize。

使用for...in循環(即快速枚舉)遍歷所有滾動視圖的子視圖,將它們的高度一起添加,然後將其用作內容的高度。我認爲這不是一個好辦法,因爲它假定所有的子視圖都是完美地垂直堆疊在一起。基本上,「對於我的滾動視圖的每個子視圖,請將它們的高度添加到此總計中,然後將其用作內容大小的高度。」

管理滾動視圖的最簡單方法是將所有內容放入一個UIView中,將其放置在滾動視圖中,然後將滾動視圖的內容大小設置爲UIView的框架。如果您需要對滾動視圖中包含的UIView的引用,可以將其設置爲屬性或給它一個標籤並使用viewWithTag

+0

代詞:好的......讓我問一下:在UIScrollView上,我繪製了一個預約網格,因此需要垂直滾動。我應該在UIS​​crollVIew的UIView子視圖上繪製,而不是直接在UIScrollView上繪製? (當然希望這對你有意義)。 :D – SpokaneDude

+1

@ spokane-dude是:) –

+0

謝謝大家......我很欣賞你花時間回答這個問題。 – SpokaneDude

相關問題