Ho un helloController che è un UIViewController, se ruoto il dispositivo, voglio cambiarlo per caricare un nuovo pennino "ciaoHorizontal.xib", come posso fare? grazie.Come si cambia un nuovo pennino quando ruoto il dispositivo?
6
A
risposta
1
Si potrebbe voi qualcosa di simile, (non ho a portata di mano in modo da Xcode questo codice potrebbe non essere del tutto accurato)
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if((interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)){
WhatYourNewViewClassISCAlled* newView = [[WhatYourNewViewClassISCAlled alloc] initWithNibName:@"NIBNAME" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:newView animated:YES];
}
1
Questo è il modo corretto, credo. Lo sto usando le mie applicazioni e funziona perfettamente
- innesca ruoterà, non deve ruotare (attese fino a quando la rotazione Anim sta per iniziare)
- utilizza la convenzione di denominazione di Apple per i file orizzontale/verticale (Default.png è default-landscape.png se si vuole Apple per auto-caricare una versione paesaggio)
- ricarica il nuovo NIB
- che resetta il self.view - questo verrà automaticamente aggiornare la visualizzazione
- e poi chiama viewDidLoad (Apple NON chiamerà questo per te, se ricarichi manualmente un NIB)
(NB stackoverflow.com richiede questa frase qui - c'è un bug nel codice di formattazione)
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if(UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
{
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@-landscape", NSStringFromClass([self class])] owner:self options:nil];
[self viewDidLoad];
}
else
{
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", NSStringFromClass([self class])] owner:self options:nil];
[self viewDidLoad];
}
}
Problemi correlati
- 1. Android, come non distruggere l'attività quando ruoto il dispositivo?
- 2. Come ruoto un div con Raphael.js?
- 3. Come scegliere il dispositivo quando si esegue un eseguibile CUDA?
- 4. Come ruoto un ggplot in orizzontale?
- 5. Ottieni nome pennino/Cosa è esattamente un pennino?
- 6. ios barra destra barra di navigazione elemento destro cambia quando si preme il nuovo controller vista
- 7. NullPointerException quando si crea un nuovo Dialog
- 8. Come recuperare l'ID del modello quando si crea un nuovo?
- 9. Modifica altezza di un input personalizzato Quando il dispositivo ruota
- 10. Come si modifica l'animazione predefinita quando si cambia attività?
- 11. La barra nera appare in UIWebview quando cambia l'orientamento del dispositivo
- 12. Come ruoto un CALayer attorno a una linea diagonale?
- 13. aggiungere un nuovo dispositivo in tensorflow
- 14. Come si effettua il codice in lib/si ricarica automaticamente quando il file cambia?
- 15. PIL cambia il valore del pixel quando si salva
- 16. Come sapere quando un nuovo dispositivo di archiviazione USB è collegato in Qt?
- 17. L'attività in background si interrompe quando il dispositivo è bloccato?
- 18. Avvia MIDlet automaticamente quando il dispositivo si riavvia?
- 19. Cambia tema nel nuovo TextMate?
- 20. Come assegnare il proprietario del file quando si utilizza UITableView registerNib: per caricare un UITableViewCell personalizzato dal pennino?
- 21. Attiva il display Android quando qualcuno si avvicina al dispositivo
- 22. $ {java.home} cambia quando si esegue Maven su un OS X
- 23. Come ruoto una bitmap in Android?
- 24. nuovo ActionBarDrawerToggle quando si utilizza AppCompatActivity
- 25. Un pennino, diverse risorse. Gruppi?
- 26. impedisce il riavvio dell'attività quando cambia l'orientamento
- 27. Posso osservare quando un UIViewController cambia interfacciaOrientation?
- 28. Come ruoto l'anteprima video di libstreaming?
- 29. Aggiungi un nuovo dispositivo per un tester esistente su Crashlytics
- 30. Come avviare un servizio quando il dispositivo Android è acceso?
Ma poi la vista verticale orientata sarà ancora in pila, non è vero? Quindi il pulsante indietro punterà alla cosa sbagliata. –
Un buon punto, è possibile nascondere la barra di navigazione quando le viste ruotano o hanno già creato la vista e sbiadirla e sbiadire l'altra vista quando avviene la rotazione. – octermircty