Ответ 1
Лучшее, что я нашел до сих пор, - это сеанс видеозаписей WWDC 2011 Session 102 - Реализация UIViewController Containment.
Может ли кто-нибудь указать мне на хорошие примеры создания контроллера пользовательского вида в качестве контроллера просмотра контейнеров? Единственная документация, которую я могу найти, - это пара абзацев в Справочник класса UIViewController. Я чувствую, что мне нужно немного больше информации, чем это, и пример реализации будет приятным. Google вообще ничего не обнаружил.
Меня особенно интересует метод:
transitionFromViewController:toViewController:duration:options:animations:completion:
Лучшее, что я нашел до сих пор, - это сеанс видеозаписей WWDC 2011 Session 102 - Реализация UIViewController Containment.
В дополнение к сеансовому видео WWDC Сессия 102 - Реализация UIViewController Containment, о которой уже упоминалось в гиперкрипте, Apple WWDC 2012 "Эволюция контроллеров просмотра в iOS" также охватывает этот раздел, а примерный код является частью примера кода:
Здесь также есть пример: 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:
Может ли это:
http://subjective-objective-c.blogspot.com/2011/08/writing-high-quality-view-controller.html
Будь достаточно для ваших нужд?
Не знаю, является ли это "хорошим" примером, но вы можете получить бесплатный Container ViewController из https://bitbucket.org/javieralonso/jaacordeonviewcontroller/overview
Это полный контроллер представления контейнера метафорического аккордеона
Это мой любимый (iOS7-готовый) учебник/примеры по этому вопросу (все три имеют исходный код на github):
Просмотр содержимого контроллера
Пользовательский переход контроллера контроллера контейнера
Интерактивные пользовательские проверки контроллера контейнера
И тогда, конечно, Apple предлагает полную рецензию на эту тему, которую я считаю бесценной: