2015-06-23 8 views
28

Ho presentato una schermata di accesso come segue in modo modale. Correggimi se non ho ragionePresentare una vista modale utilizzando l'animazione fade-in

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"login"];//LOOK AT NEXT LINE 
    [self presentViewController:ivc animated:YES completion:nil]; 

Viene visualizzata la schermata di accesso, ma l'animazione è una diapositiva verso l'alto. Preferisco una dissolvenza in entrata e svanisce la nostra animazione. Come posso fare questo?

+0

possibile duplicato di [Come posso cambiare lo stile di animazione di un UIViewController modale?] (Http://stackoverflow.com/questions/237310/how-can-i-change-the-animation-style-of-a-modal-uiviewcontroller) –

risposta

71

Basta impostare le proprietà modalPresentationStyle e modalTransitionStyle per viewController.

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"login"]; 
[ivc setModalPresentationStyle:UIModalPresentationCustom]; 
[ivc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; 
[self presentViewController:ivc animated:YES completion:nil]; 
+1

Il tuo è un modo migliore di [questo] (http://stackoverflow.com)/domande/237310/how-can-i-cambio-the-animazione-stile-di-un-modal-UIViewController). –

+5

Beh, questa è una risposta del 2008. Sono sicuro che queste proprietà non erano disponibili in quel momento. Se guardi la risposta più votata, vedrai che hanno suggerito la stessa cosa. – ZeMoon

+0

Devo ammettere che mi sono perso su quelli. –

29

Swift 3, 3.1(a partire dal 2 agosto 2017)

var storyboard = UIStoryboard(name: "Main", bundle: nil) 
var ivc = storyboard.instantiateViewController(withIdentifier: "login") 
ivc.modalTransitionStyle = .crossDissolve 
self.present(ivc, animated: true, completion: { _ in }) 
+5

L'impostazione di 'modalPresentationStyle' non è necessaria. Infatti, [i documenti] (https://developer.apple.com/reference/uikit/uimodalpresentationstyle/1621375-custom) specificano che '.custom' deve essere usato solo in combinazione con un' transitioningDelegate'. – clozach

+0

Modificato con. Custom rimosso. Grazie a @clozach per il suggerimento! – BennyTheNerd

Problemi correlati