在故事板上推送页面控件的视图

时间:2011-12-28 17:48:30

标签: ios storyboard uipagecontrol

我正在尝试实现一个页面控件来显示一些包含以下故事板的页面: enter image description here

正如你所看到的,我的主视图有一个滚动视图(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

1 个答案:

答案 0 :(得分:1)

您必须使用[UIStoryboard instantiateViewControllerWithIdentifier:(NSString *)identifier]实例化PageViewController实例。

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIStoryboard_Class/Reference/Reference.html