1

L'image suivante explique ce que je suis en train de faire:Pouvez-vous avoir deux contrôleurs de navigation dans les sous-vues d'un contrôleur UIView principal?

http://img337.imageshack.us/img337/1475/multinav.png

Ceci est pour une application iPad. C'est possible? Et si oui, quelqu'un peut-il poster le code du squelette pour le faire?

Merci d'avance

+0

Avez-vous essayé UISplitViewController? – kennytm

+0

Les deux contrôleurs de navigation à droite et à gauche sont indépendants l'un de l'autre – MyCSharpCorner

Répondre

1

Oui, c'est possible. Code squelette:

fichier d'en-tête:

@interface SGBSplitViewController : UIViewController 

@property (nonatomic, strong, readonly) UIViewController *leftViewController; 
@property (nonatomic, strong, readonly) UIViewController *rightViewController; 

- (id)initWithLeftViewController:(UIViewController *)leftViewController 
      rightViewController:(UIViewController *)rightViewController; 

@end 

fichier de mise en œuvre:

@implementation SGBSplitViewController 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    return nil; 
} 

- (id)initWithLeftViewController:(UIViewController *)leftViewController 
      rightViewController:(UIViewController *)rightViewController 
{ 
    self = [super initWithNibName:nil bundle:nil]; 
    if (self) 
    { 
     _leftViewController = leftViewController; 
     _rightViewController = rightViewController; 
    } 
    return self; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self addChildViewController:self.leftViewController]; 
    [self.view addSubview:self.leftViewController.view]; 
    [self.leftViewController didMoveToParentViewController:self]; 

    [self addChildViewController:self.rightViewController]; 
    [self.view addSubview:self.rightViewController.view]; 
    [self.rightViewController didMoveToParentViewController:self]; 
} 

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 

    self.leftViewController.view.frame = <frame>; 
    self.rightViewController.view.frame = <frame>; 
} 
Questions connexes