Il semble que si le parent d'une vue modale renvoie false à shouldAutoRotate ... la vue modale ne sera pas non plus autorotée. Comment puis-je avoir une vue principale qui ne tournera jamais, et une vue modale qui tournera toujours?Est-il possible de faire pivoter automatiquement une vue modale mais pas son parent?
Répondre
Vous pouvez essayer d'observer des événements d'orientation (UIDeviceOrientationDidChangeNotification) dans votre contrôleur modal vue, puis ajouter une transformation à votre couche de vue en utilisant CATransform3DMakeRotation pour obtenir une rotation appropriée autour de Z ou essentiellement avec
[myLayer setValue:[NSNumber numberWithInt:M_PI*0.5f] forKeyPath:@"transform.rotation.z"]; // or - M_PI*0.5f depending orientation: left or right
Vous peut également utiliser une animation pour obtenir une rotation animée. Est-ce ce que vous demandez?
pour l'observation des événements d'orientation lire ce chapitre: Getting the Current Device Orientation
Layer transformation lire ce chapitre: Layer Geometry and Transforms
Cordialement.
V.Zgueb
Oui, bien sûr. Presque le même conseil comme ici j'ai posted recently juste dans la direction différente.
Vous devez autoriser la rotation sur Modal, par défaut. Et le désactiver sur le contrôleur principal.
Cela devrait fonctionner correctement.