2013-01-02 55 views
0

我花了幾個小時,試圖解決我的問題,但我自己找不到解決方案。 我有一些代碼,添加的UIView我的滾動視圖:UIScrollView:addSubview不會添加項目

- (void) loadSpareparts:(VitoParts*) parts{ 
    data = [VitoServer fetchPartList:parts]; 

    int itemHeight = 100; 
    [scrollView setContentSize:CGSizeMake(scrollView.frame.size.width, (data.count * itemHeight))]; 

    NSLog(@"Item count: %d", data.count); 

    for (int i=0; i<data.count; i++) { 
     VitoPart *sparepart = [data objectAtIndex:i]; 
     VIOnePart *partView = [[VIOnePart alloc] init]; 

     [partView setFrame:CGRectMake (0, (i * itemHeight), scrollView.frame.size.width, itemHeight)]; 

     [partView setData:sparepart]; 
     [scrollView addSubview:partView]; 
     //  [self.view addSubview:partView]; 
    } 

    NSLog(@"In scrollView: %d", scrollView.subviews.count); 
} 

但它無法正常工作。我的最後一條日誌消息告訴我,scrollView中的0項。 如果我將partView添加到self.view,它工作正常。 IBOutlet也連接到XIB編輯器中的ScrollView。

我應該在哪裏找到解決方案?

謝謝。

+0

在某些時候將scrollView添加到self.view? – tiguero

+0

scrollView放置在界面編輯器中,並通過outled連接到scrollView變量 – Andrey

回答

2

您是在-(void)viewDidLoad之前還是之後調用此方法?如果之前,視圖將不會加載,因此scrollView將爲零。

+0

謝謝:)在NY之後很難製作程序:) – Andrey

+0

此答案幫助我。你能不能告訴我爲什麼我應該加載viewDidLoad? –

+0

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/viewDidLoad – Alex