Примеры контроллера вида контейнера [закрыто]


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

меня особенно интересует метод:

transitionFromViewController:toViewController:duration:options:animations:completion:
7 94

7 ответов:

лучшее, что я нашел до сих пор является WWDC 2011 сессии видео Сеанс 102-Реализация Сдерживания UIViewController.

в дополнение к видео сессии WWDC Сеанс 102-Реализация Сдерживания UIViewController что, как уже упоминалось hypercrypt, сессия 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 запускает переход между двумя VCs:

-(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

Это полный аккордеон метафора container view controller

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

Вид-Контроллер Сдерживания

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

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

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

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