Sto cercando di imparare alcuni nuovi modelli di programmazione iOS. Ho letto un sacco di API di transizione di UIViewController aggiunte in iOS 7. Sembrano interessanti ma anche abbastanza pesanti per quello che sembra un compito più semplice.Capire il valore delle transizioni UIViewController
Considerare questo caso d'uso: Ho un controller di visualizzazione contenitore personalizzato che gestisce "diapositive". Contiene una serie di controller di diapositive e l'utente può spostarsi avanti e indietro anche toccando un pulsante.
posso realizzare la transizione di questo come segue:
private func transitionToViewController(viewController: UIViewController, direction: TransitionDirection = .Forward, animated: Bool = true) {
currentViewController.willMove(toParentViewController: nil)
addChildViewController(viewController)
// ... set up frames, other animation prep ...
contentContainerView.addSubview(comingView)
UIView.animate(duration: 0.5, animations: {
// do the animations
}) { (finished) in
leavingView.removeFromSuperview()
self.currentViewController.removeFromParentViewController()
viewController.didMove(toParentViewController: self)
// final clean up
}
}
Come sarebbero le API più recenti transizione migliorare questo? Da quello che ho capito, queste API sono ancora più complicato da usare se si sta posizionare il proprio controller di vista contenitore (vedi custom-container view controller transitions.
è il valore nelle API transizione per lo più per le transizioni interattive?
Grazie per il chiarimento
Sono d'accordo sul fatto che ci siano molte classi separate coinvolte e a prima vista l'API sembra scoraggiante. Tuttavia, la documentazione di Apple copre tutti i bassi e la quantità di codice che si dovrebbe scrivere per ognuna di quelle classi per (dire) replicare il comportamento di 'UIAlertController' non è molto. –