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];
}
}
我有一個預感,你的scrollView甚至沒有在loadView函數中初始化。這就是爲什麼你在子視圖中看到0的原因。 – 2012-02-12 03:48:39
你是對的;我將代碼移到了viewDidLoad,但它沒有解決問題。 – InsaneOstrich 2012-02-12 04:58:33
初始化你的UIScrollView是什麼?如果您使用筆尖,請確保您將IBOutlet連接到它。如果沒有,您應該將所有代碼移回loadView,並明確分配/ initWithFrame您的UIScrollView。 – 2012-02-12 05:02:05