Question

Je veux savoir quand la barre d'état change la hauteur en raison par exemple d'un appel téléphonique en cours. Donc, je mets ce qui suit dans mon UIApplicationDelegate:

-(void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame {
    NSLog(@"yup, got here");
}

et même quand je bascule le sur le simulateur de tout écran d'appel barre d'état dans l'application, le message apparaît dans la console, mais ce que je veux faire est de déplacer un UITextField ou 2 dans une autre classe depuis la double -height barre d'état est un chambouler l'écran en particulier. Je n'ai pas eu de chance avec un redimensionnement automatique sur cet écran.

Alors, ma question est de savoir comment je vais sur le code d'exécution d'un écran et un écran seulement de cette méthode dans le AppDelegate? Il tire dans tous les écrans, mais je ne en ont besoin en un. Idéalement, je voudrais une méthode que dans une classe à feu.

Était-ce utile?

La solution

Le système affichera également une UIApplicationWillChangeStatusBarFrameNotification en même temps. Demandez à votre vue contrôleur écouter cette notification. Pas besoin de jouer avec le délégué de l'application du tout.

Autres conseils

Go avec la réponse de Ole, mais pour référence future, comment vous à votre délégué est:

MyAppDelegate *delegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top