Ho due visualizzazioni Vorrei passare attraverso una transizione di stile e l'ho fatto quando c'è un seguito su cui agire ma non ne ho uno qui quindi non sono sicuro di come applicare la mia lezione di animazione. Tutto quello che ho nella mia classe è:Transizione vista personalizzata senza utilizzo di storyboard segues (Swift)
let stb = UIStoryboard(name: "Walkthrough", bundle: nil)
let walkthrough = stb.instantiateViewControllerWithIdentifier("walk") as! BWWalkthroughViewController
self.presentViewController(walkthrough, animated: true, completion: nil)
voglio applicare applicare il seguente segue personalizzato:
class CustomSegue: UIStoryboardSegue {
override func perform() {
// Assign the source and destination views to local variables.
var firstVCView = self.sourceViewController.view as UIView!
var secondVCView = self.destinationViewController.view as UIView!
// Get the screen width and height.
let screenWidth = UIScreen.mainScreen().bounds.size.width
let screenHeight = UIScreen.mainScreen().bounds.size.height
// Specify the initial position of the destination view.
secondVCView.frame = CGRectMake(0.0, screenHeight, screenWidth, screenHeight)
// Access the app's key window and insert the destination view above the current (source) one.
let window = UIApplication.sharedApplication().keyWindow
window?.insertSubview(secondVCView, aboveSubview: firstVCView)
// Animate the transition.
UIView.animateWithDuration(0.2, animations: {() -> Void in
firstVCView.frame = CGRectOffset(firstVCView.frame, -screenWidth, 0.0)
secondVCView.frame = CGRectOffset(secondVCView.frame, -screenWidth, 0.0)
}) { (Finished) -> Void in
self.sourceViewController.presentViewController(self.destinationViewController as! UIViewController,
animated: false,
completion:nil)
}
}
}
non riesco a farlo funzionare tutti i puntatori per favore?
Si noti che non è necessario usare 'UIScreen.mainScreen()' e che si può effettivamente creare una certa confusione. Si noti inoltre che se si rallenta l'animazione a 4 secondi, sembra che vengano svelati artefatti indesiderati. – SwiftArchitect