2011-11-11 2 views
0

J'ai une vue initialisée avec - (id)initWithCoder:(NSCoder *)aDecoder Comment initialiser cette vue dans un viewController?Comment initialiser Affichage avec initWithCoder: méthode

Je pense que j'ai besoin de viewController si je veux la vue à autoRotate avec l'appareil. Je ne suis pas sûr, peut-être que je pourrais accomplir le autoRotation sans viewController? L'ajout d'un observateur et de shouldAutorotateToInterfaceOrientation: à la vue n'autorise pas la rotation automatique de la vue.

Mais quand j'ajoute aussi

-(void) orientationChanged:(NSNotification *) notification 
{ 
    NSLog(@"orientationChanged: %d", [[notification object] orientation]); 
} 

Je reçois la valeur d'orientation dans ma fenêtre de console.

Toute aide serait grandement appréciée.

Répondre

0

initWithCoder: est de gérer des objets sérialisés. Vous ne l'appelez jamais directement. Un objet avec une méthode initWithCoder: doit toujours avoir un initialiseur désigné régulier (pour une vue, ce serait initWithFrame:). Généralement, cependant, je recommande d'utiliser un fichier nib plutôt que d'essayer de construire ce truc à la main. Il simplifie grandement les choses, et le chargement à partir d'un fichier nib appellera initWithCoder:.

La gestion de l'autorotation avec un contrôleur de vue est beaucoup plus simple. Ce n'est pas obligatoire, mais cela fait du travail pour vous.

+0

Merci beaucoup pour votre aide. J'ai utilisé la méthode initWithFrame: et tout fonctionne très bien. J'avais juste besoin d'un petit coup de pouce. – KaasCoder

Questions connexes