2012-02-12 108 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

相关问题