Chaque UIViewController a une méthode appelée WillrotateTointerface. P>
est-il possible de le faire dans un UIView aussi? P>
Est-ce que cela correspond à l'idée de contrôleur de vue du modèle? p>
Le seul moyen de penser est d'envoyer l'événement à partir de l'UIViewController à UIView. p>
existe une variable globale pour l'orientation actuelle? p>
3 Réponses :
Observer Référence de la classe Uidevice P> Je dois noter que vous devez ajouter UideviceOrientationDidChangenotification Code>:
-BegingeneratingDeviceOrientationNotifications code> lorsque vous voulez ces notifications Soyez envoyé et appelez
-endGeneratingDeviceOrientationationnotiformation code> quand vous voulez qu'ils s'arrêtent. Il y a un impact sur la batterie de les générer, de sorte que vous ne devriez donc le faire que lorsque votre vue est à l'écran.
UIVIEWCONTROLLER CODE> Est-ce que tout cela pour vous, donc si vous avez un contrôleur d'affichage, il convient de le laisser faire le travail. P> P>
Vous pouvez vous abonner à une notification globale et obtenir un appel lorsque l'appareil est tourné, il ne fera rien pour vous ..
[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
Si vous souhaitez simplement ajuster la vue à la nouvelle taille / mise en page lorsque vous modifiez l'orientation, vous devriez simplement remplacer sa méthode On appellera chaque fois que la taille de la vue change, ce qui se produit généralement lorsque la vue est tournée. P> LayouTouSubviews code>. p>
Ce serait une solution parfaite si les modifications apportées dans un appel SmecouTouSubviews étaient animées.