Ho un controller di visualizzazione diviso e vi presento un popover al suo interno. Ora, quando l'orientamento del dispositivo cambia da orizzontale a verticale, devo eseguire un pezzo di codice & se si passa da verticale a orizzontale devo eseguire un altro pezzo di codice. Come ottenere ciò in Swift.Come controllare il cambio di orientamento del dispositivo Da verticale a orizzontale e Vice-Versa in iPad
5
A
risposta
-1
da iOS aiuta 8.0 È possibile rilevare la modifica dell'orientamento utilizzando il metodo seguente.
in Objective-C
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
in rapida
func viewWillTransitionToSize(_ size: CGSize,
withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)
dalla dimensione si può scoprire.
16
Aggiornato a Swift 4: Aggiungi sottostante Codice in ViewDidLoad
:
NotificationCenter.default.addObserver(self, selector: #selector(orientationChanged), name: Notification.Name("UIDeviceOrientationDidChangeNotification"), object: nil)
Poi, creare una funzione come qui di seguito
@objc func orientationChanged() {
if(UIDeviceOrientationIsLandscape(UIDevice.current.orientation)){
print("landscape")
}
if(UIDeviceOrientationIsPortrait(UIDevice.current.orientation)){
print("Portrait")
}
}
auguriamo che questo voi :)
+0
UIDeviceOrientation! = UIInterfaceOrientation – nnrales
Problemi correlati
- 1. solo orientamento verticale iPad
- 2. MPMediaPickerControllo orientamento su iPad
- 3. App anima da verticale a orizzontale
- 4. iphone orientamento del dispositivo
- 5. Applicazione universale con orientamento verticale per iPhone e orientamento orizzontale per iPad
- 6. Supporto dell'app universale con orientamento verticale su iPhone e Orizzontale + Ritratto su iPad
- 7. ViewPager + FragmentStatePagerAdapter + cambio di orientamento
- 8. Problema di modifica orientamento iPad
- 9. Avvio dell'applicazione in orientamento orizzontale per IPad
- 10. UINavigationController pulsante indietro metà funziona in orientamento orizzontale iPad
- 11. UIPopOversamento e cambio di orientamento
- 12. Come si specificano layout diversi per orientamento verticale e orizzontale?
- 13. Verifica/simulazione di un cambio di orientamento in Chrome?
- 14. Orientamento orizzontale ma valori fotogramma verticale?
- 15. UIDeviceOrientationFaceUp - come distinguere tra verticale e orizzontale?
- 16. diverso orientamento del dispositivo in base al dispositivo (iPhone o iPad)
- 17. Orientamento orizzontale e posizionamento iText?
- 18. Come rilevare quando il dispositivo passa dalla modalità verticale a quella orizzontale?
- 19. non risponde dopo l'avvio con orientamento orizzontale su iPad
- 20. Ottieni UINavigationBar altezza orizzontale mentre il dispositivo è in verticale
- 21. Orientamento molto intermittente su dispositivo e simulatore
- 22. Da WPF a XPS con orientamento orizzontale
- 23. ios6 Problema di rotazione da orizzontale a verticale
- 24. Rilevamento orientamento del dispositivo
- 25. Come ottenere la larghezza della finestra corretta sul cambio di orientamento per dispositivi Android sia tablet che cellulari
- 26. Lavorare con AutoLayout in verticale e orizzontale
- 27. Problema pushViewController da orizzontale a verticale
- 28. Commutazione fullscreen e orientamento come YouTube
- 29. cambio locale Android nel cambio di orientamento
- 30. UIView in iOS 5 utilizzando Storyboard non ruota il contenuto sulla rotazione del dispositivo iPad
Questo metodo non viene chiamato. Ho un controller di visualizzazione split – Swayambhu
** UISplitViewContoller ** è anche una sottoclasse di ** UIVIewController **. Dovrebbe essere chiamato. Un altro punto importante controlla se si chiama questo metodo con super o no. ** viewWillTransitionToSize: withTransitionCoordinator: ** sembra funzionare solo se l'interfaccia sta per cambiare le dimensioni, il che significa che abbiamo ruotato di 90 gradi. Se si dispone di una maschera sul layout che consente solo il paesaggio, quando la rotazione di 180 gradi, la dimensione dell'interfaccia non cambia, quindi questo metodo non sembra essere chiamato. – commando24