Контроллер Примеры Контроллера

Может кто-нибудь указать мне на хорошие примеры создания пользовательского контроллера представления в качестве контроллера представления контейнера? Единственная документация, которую я могу найти, это пара абзацев в Справочнике по классам UIViewController. Я чувствую, что мне нужно немного больше информации, и пример реализации был бы хорош. Гугл вообще ничего не обнаружил.

Я особенно заинтересован в методе:

transitionFromViewController:toViewController:duration:options:animations:completion:

7 ответов

Решение

Лучшее, что я нашел на данный момент, - это видео сессия WWDC 2011. 102 - Внедрение UIViewController Containment.

В дополнение к видео- сеансу WWDC 102 - Реализация UIViewController Containment, о котором уже упоминался гиперкрипт, сессия Apple WWDC 2012 "Развитие контроллеров представления на iOS" также охватывает эту тему, и пример кода является частью пакета примера кода:

https://developer.apple.com/devcenter/download.action?path=/wwdc_2012/wwdc_2012_sample_code/wwdc_2012_session_code.dmg

Здесь также есть пример: https://github.com/toolmanGitHub/stackedViewControllers

- (void)viewDidLoad{
    [super viewDidLoad];

    // I put self in a Navigation VC so we can use its right navigationbar 
    // item for triggering the transition
    self.navigationItem.rightBarButtonItem = 
     [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit 
                                                    target:self 
                                                    action:@selector(button:)] 
                                                                  autorelease];

    // create test1 and test2 instance (subclass UIViewController and 
    // also need to define their own nibs)
    vc1 = [[test1 alloc]initWithNibName:@"test1" bundle:nil];
    vc2 = [[test2 alloc]initWithNibName:@"test2" bundle:nil];

    //add to the container vc which is self    
    [self addChildViewController:vc1];
    [self addChildViewController:vc2];

    //the entry view (will be removed from it superview later by the api)
    [self.view addSubview:vc1.view];
}

этот IBAction запускает переход между двумя VC:

-(IBAction)button:(id)sender {
    [self transitionFromViewController:vc1 
                      toViewController:vc2 
                              duration:0.5    
                               options:UIViewAnimationOptionTransitionCurlDown 
                            animations:nil 
                            completion:nil];
}

Я нашел этот пример очень полезным для меня

http://sandmoose.com/post/35714028270/storyboards-with-custom-container-view-controllers

И у них есть источник на GitHub:

https://github.com/mluton/EmbeddedSwapping

Может ли это:

http://subjective-objective-c.blogspot.com/2011/08/writing-high-quality-view-controller.html

Достаточно для ваших нужд?

Не знаю, является ли это "хорошим" примером, но вы можете получить бесплатный Контейнер ViewController из https://bitbucket.org/javieralonso/jaacordeonviewcontroller/overview

Это полностью аккордеонный метафора

Это мой любимый (готовый для iOS7) учебник / примеры по этой теме (у всех трех есть исходный код, доступный на github):

Контроллер представления

Пользовательские Контейнерные Контроллеры Переходы

Интерактивные пользовательские контейнерные представления контроллера переходов

И затем, конечно, Apple предлагает целую статью на эту тему, которую я считаю бесценной:

Создание пользовательских контроллеров представления контейнера

Другие вопросы по тегам