2010-11-12 1 views
0

Je pourrais être confus ici et poser la mauvaise question.Sous-classe dans les délégués de message Objective c et viewWillAppear?

Si j'utilise une classe comme UISplitViewController dans appdelete.m, le seul message que je recevrai est le message que les appels UISplitViewController appellent et non VIEW? par exemple:

dans mon myappdelegate.m

.... 
UISplitViewController *mySplitViewController = [[UISplitViewController alloc] init]; 

mySplitViewController.viewControllers = [NSArray arrayWithObjects:leftside,rightside,nil]; 
... 

mySplitViewController.delegate = self; 
.... 
[windows addSubView:mySplitViewController.view]; 
.... 
-(void) viewWillAppear:(BOOL) animated { 
} 

dans myappdelegate.h I inclus UISplitViewControllerDelegate

Je me attendais viewWillAppear au feu, mais ce n'est pas. Je suppose que si j'avais UISplitViewControler sous-classe, il aurait feu. droite?

BTW: Je le fais sans IB. Ai-je besoin de définir la cible pour mySplitViewController?

Ce que je veux faire est de configurer l'orientation du splitviewcontroller quand il tourne.

Répondre

1

La méthode viewWillAppear et d'autres méthodes liées à la vue seront appelées sur le contrôleur de vue ou de vue, et non sur le délégué. Cela signifie que si vous créez une sous-classe de UISplitViewController appelée SplitViewControllerSubClass, les méthodes view... seront appelées sur l'instance de SplitViewControllerSubClass, et non sur l'objet délégué. Mais étant donné que vous créez les vues et les affichez par programmation, vous savez déjà exactement quand la vue apparaîtra (c'est-à-dire juste avant de l'ajouter à la fenêtre), donc je crois que vous pourriez faire ce que vous voulez.

+0

Est-ce que c'est par défaut que le UIViewcontroller le réautorise? J'ai deux viewcontrollers pour l'UISplitViewController et seulement un d'entre eux apparaît. Voir le message mis à jour. – Arcadian

Questions connexes