2012-07-05 2 views
0

Je présente modal ViewController ayant ModalPresentationStyle mis à UIModalPresentationStyle.CurrentContext pour avoir vue parent sur l'arrière-plan. Ce qui me dérange vraiment, c'est quand j'essaie de changer l'orientation de l'iPad, la vue modale est redimensionnée correctement tandis que le contrôleur parent garde l'orientation de l'original.Contrôleurs Modal View vs Orientation dans monotouch

La question est: est-ce que je peux transférer des notifications de changement d'orientation au contrôleur parent, ou pour le forcer à re-layout avec une nouvelle orientation?

Répondre

0

Vous devez informer votre contrôleur parent du changement d'orientation. Ce comportement a changé dans ios5 ou similaire. Par exemple:

NSNotificationCenter.DefaultCenter.PostNotificationName("changeOrientation", null); 

Cette notification doit être envoyée par le contrôleur modal lorsque son orientation change. Le contrôleur parent doit s'abonner à cette notification AVANT d'afficher le contrôleur modal ou la méthode ViewDidAppear.

this.orientationObserver = NSNotificationCenter.DefaultCenter.AddObserver("changeOrientation", HandleRotation); 

... et les envois après contrôleur modal est caché ou dans le procédé ViewWillDisappear (si abonné dans ViewDidAppear). La bonne chose à propos de cette approche car il n'y a pas de référence directe au contrôleur parent dans le contrôleur modal et vice-versa.

+0

Je ne vois pas comment cela va m'aider à changer l'orientation du contrôleur parent ... Je peux déclencher un événement ou quelque chose du contrôleur modal lorsque l'orientation est modifiée. Ce que j'essaie de comprendre, c'est comment rendre le contrôleur parent pour réajuster automatiquement la sous-vue –

Questions connexes