objective-c système - Exemples de contrôleurs de vue de conteneur




tag google (7)

En plus de la Session vidéo 102 de la WWDC - Implémentation de UIViewController Containment que hypercrypt déjà mentionné, la session Apple WWDC 2012 sur "L'évolution des contrôleurs View sur iOS" couvre également ce sujet et le code d'exemple fait partie de l'exemple de package de code:

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

Il y a aussi un exemple ici: https://github.com/toolmanGitHub/stackedViewControllers

Quelqu'un peut-il me diriger vers de bons exemples de création d'un contrôleur de vue personnalisé en tant que contrôleur de vue de conteneur? La seule documentation que je peux trouver est un couple de paragraphes dans la référence de classe UIViewController . Je pense avoir besoin d'un peu plus d'informations que cela et un exemple de mise en œuvre serait bien. Google n'a rien trouvé du tout.

Je suis particulièrement intéressé par la méthode:

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




- (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];
}

cette IBAction déclenche la transition entre deux VC:

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


UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UINavigationController *viewController = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"storyBoardIdentifier"];
viewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;
[self presentViewController:viewController animated:YES completion:nil];

Essayez ce code.

Ce code donne Transition d'un contrôleur de vue à un autre contrôleur de vue ayant un contrôleur de navigation.







objective-c ios uiviewcontroller ios5