2015-11-04 5 views
0

В настоящее время я пытаюсь работать над обычаем Segue он должен выглядеть следующим образом:пользовательских Segue правильный путь

The [Destination View] должен быть позади [Source View], это [Source View] должны анимировать от 100% до 0,1%, а затем удалить, во время анимации [Фоновое изображение] также должно быть в фоновом режиме.
Итак, вы видите, что [Вид источника] становится маленьким перед [Представление] и удаляется.

Это мой код:

import UIKit 

class CustomSegueFromBigtoSmall: UIStoryboardSegue { 

    override func perform() { 

     let sourceVC = self.sourceViewController 
     let destinationVC = self.destinationViewController 

     sourceVC.view.addSubview(destinationVC.view) 

     UIView.animateWithDuration(0.5, delay: 0.0, options: .CurveEaseInOut, animations: {() -> Void in 

      sourceVC.view.transform = CGAffineTransformMakeScale(0.1, 0.1) 

      }){ (finished) -> Void in 

       destinationVC.view.removeFromSuperview() 

       let time = dispatch_time(DISPATCH_TIME_NOW, Int64(0.001 * Double(NSEC_PER_SEC))) 

       dispatch_after(time, dispatch_get_main_queue(), {() -> Void in 
        sourceVC.presentViewController(destinationVC, animated: false, completion: nil) 
       }) 
     } 

    } 

} 

прямо сейчас я вижу, мой [Source View], который мгновенно становится моим [Destination View].
[Вид места назначения] становятся маленькими перед черным фоном. Когда он «маленький», он просто отображается как полный экран.

ответ

0

Как сделать это в iOS 9, это сделать презентацию (модальную) с помощью специальной реализации segue. Затем ваш пользовательский сеанс просто вызывает super.perform(), чтобы сделать реальную презентацию. Но во-первых, segue устанавливает себя как transitionDelegate адресата и устанавливает его стиль презентации Custom. Теперь вы просто выполняете обычную пользовательскую переходную анимацию, с вашим собственным делегатом перехода и своим собственным UIPresentationController, и вы можете делать все, что хотите, в хорошем состоянии.

+0

Пример (из моей книги) здесь: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch06p325customSegue/CustomSegue/ViewController.swift – matt

Смежные вопросы