Перенос представления на раскадровку для управления страницей - PullRequest
0 голосов
/ 28 декабря 2011

Я пытаюсь реализовать элемент управления страницы, чтобы показать некоторые страницы со следующей раскадровкой: enter image description here

Как вы можете видеть, у меня есть основной вид с представлением прокрутки (ViewController3) и другойпредставление (PageViewController), которое представляет собой то, которое я хочу нажать в моем представлении прокрутки.

Вкл viewDidLoad ViewController3 Я вызываю следующий метод:

- (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 Ответ

1 голос
/ 28 декабря 2011

Вы должны создать экземпляр экземпляра PageViewController, используя [UIStoryboard instantiateViewControllerWithIdentifier: (NSString *) идентификатор].

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

...