我正在尝试实现一个页面控件来显示一些包含以下故事板的页面:
正如你所看到的,我的主视图有一个滚动视图(ViewController3)和另一个视图(PageViewController),它代表了我想在滚动视图上推送的视图。
在ViewController3的viewDidLoad
上,我调用以下方法:
- (void)loadScrollViewWithPage:(int)page
{
if (page < 0)
return;
if (page >= NUMBER_OF_PAGES)
return;
PageViewController *currentViewController = [viewControllers objectAtIndex:page];
if ((NSNull *)currentViewController == [NSNull null])
{
currentViewController = [[PageViewController alloc] init];
currentViewController.pageNumber = [NSString stringWithFormat:@"%d", page];
[viewControllers replaceObjectAtIndex:page withObject:currentViewController];
}
// add the controller's view to the scroll view
if (currentViewController.view.superview == nil)
{
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
currentViewController.view.frame = frame;
currentViewController.view.backgroundColor = [UIColor yellowColor];
[self.scrollView addSubview:currentViewController.view];
self.scrollView.backgroundColor = [UIColor redColor];
NSDictionary *numberItem = [contentList objectAtIndex:page];
currentViewController.numberImage.image = [UIImage imageNamed:[numberItem valueForKey:IMAGE_KEY]];
currentViewController.numberTitle.text = [numberItem valueForKey:NAME_KEY];
}
}
如果我运行项目,则显示黄色背景的视图,没有标签,也没有图像视图。
如您所见,我以编程方式设置此背景颜色。根据我的理解,这意味着新视图已正确添加到ViewController3,但它没有链接到故事板上配置的视图。 您对如何解决此问题有任何建议吗?
提前致谢, yassa
答案 0 :(得分:1)
您必须使用[UIStoryboard instantiateViewControllerWithIdentifier:(NSString *)identifier]实例化PageViewController实例。