Sto provando a passare da un UIView a un altro, quando l'utente ruota il dispositivo. Questo, di per sé, non è difficile. Tuttavia, poiché visualizzo contenuti completamente diversi dopo la rotazione, l'animazione predefinita fornita da UIKit (ruotando la vista attualmente visualizzata) è inappropriata concettualmente.Come catturare lo screenshot della vista corrente e riutilizzarlo nel codice? (iPhone SDK)
Semplicemente disabilitando l'animazione e scambiando le viste, è improvvisamente tollerabile, ma è molto al di sotto dello smalto che sto costruendo nel resto dell'app. Quello che preferirei fare è questo:
Quando si chiama "Autotopotale": "Mi piace", desidero catturare un'istantanea della vista opaca, uno screenshot se lo si desidera, della vista utente prima della rotazione. Quindi, dopo che la rotazione è completata e il sistema ha applicato la vista trasforma ecc., Posso mostrare la vista dell'istantanea che ho salvato e animare una transizione della mia scelta alla mia nuova vista. Dopo che è stato completato, posso rilasciare la mia istantanea e andare avanti.
C'è un modo per farlo che non sia costoso?
L'unica altra opzione che posso pensare è di restituire NO su tutti gli orientamenti diversi da quello predefinito, quindi reagire applicando le mie animazioni e le mie trasformazioni. Preferirei utilizzare il sistema per farlo, tuttavia, poiché ritengo che farlo probabilmente potrebbe causare un comportamento "non definito" della tastiera nella visualizzazione ruotata manualmente, ecc.
Pensieri?
Vorrei sottolineare che ora ho tentato quello che ho detto come la seconda opzione: reagire da manualmente applicando le mie viste e le trasformazioni dopo aver restituito NO ... e la tastiera appare effettivamente nell'orientamento sbagliato. Sono in perdita per correggere questo comportamento, se dovessi procedere in questa direzione. –