我正在尝试创建一个使用 UIScrollView 在不确定数量的动态生成的自定义视图控制器之间进行分页的应用程序。不幸的是,当我尝试下面所示的代码时,我得到的只是一个空白屏幕。此外,我在子视图之后放置的 nslog 语句据说被添加到 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];
}
}
检查滚动视图之外的 ViewController 视图 - 很可能它的 view 属性为零。