2012-02-12 135 views
0

我試圖使一個應用程序使用UIScrollView頁面之間的動態生成的自定義視圖控制器的數量不確定。不幸的是,當我嘗試下面顯示的代碼時,我得到的只是一個空白屏幕。另外,我在子視圖後面添加的nslog語句應該添加到UIScrollView中,總是說UIScrollView具有零子視圖。我完全被這個問題困惑,並且非常感謝任何幫助。無法將自定義視圖控制器添加到UIScrollVIew

- (void)loadView 
{ 
    [super loadView]; 

    scrollView.pagingEnabled = YES; 

    viewControllers = [[NSMutableArray alloc] init]; 

    CGRect screenBounds = [[UIScreen mainScreen] bounds]; 
    CGFloat screenScale = [[UIScreen mainScreen] scale]; 

    CGFloat width = screenBounds.size.width * screenScale; 
    CGFloat height = screenBounds.size.height * screenScale; 

    scrollView.contentSize = CGSizeMake(width * [routes count], height); 

    for(int i = 0; i < [arrayWithDataForViewControllers count]; i++) 
    { 
     ViewController *controller = [[ViewController alloc] init]; 

     controller.view.frame = CGRectMake(width*i, 20, width, height); 

     [scrollView addSubview:controller.view]; 
     NSLog(@"SUBVIEWS %d", [[scrollView subviews] count]); 
     [viewControllers addObject:controller]; 
    } 
} 
+0

我有一個預感,你的scrollView甚至沒有在loadView函數中初始化。這就是爲什麼你在子視圖中看到0的原因。 – 2012-02-12 03:48:39

+0

你是對的;我將代碼移到了viewDidLoad,但它沒有解決問題。 – InsaneOstrich 2012-02-12 04:58:33

+0

初始化你的UIScrollView是什麼?如果您使用筆尖,請確保您將IBOutlet連接到它。如果沒有,您應該將所有代碼移回loadView,並明確分配/ initWithFrame您的UIScrollView。 – 2012-02-12 05:02:05

回答

0

檢查你的ViewController的視圖以外的滾動視圖 - 可能是它的視圖屬性爲零。

+0

我檢查了ViewControllers的視圖,它們不是零。 :( – InsaneOstrich 2012-02-12 04:57:51

相關問題