如何延迟或减慢视图控制器之间的转换?

How to I delay or slow down transition between view controllers?

所以我在屏幕上有一个按钮,它通过带有推式赛格威的故事板连接。我按下按钮,它会转到下一个视图控制器。

如果我想通过 1-2 秒来减慢转换速度,我该怎么做?

您可以在延迟后使用 performSegueWithIdentifier 方法的第一个视图控制器中创建一个方法。

然后将视图控制器上的按钮连接到该方法。

代码示例:

故事板

这里我有一个初始视图控制器,带有一个到第二个视图控制器的手动 segue。

我已将 Fire Method 按钮连接到初始视图控制器上的 IBAction,代码如下:

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

// This method is connected to the Fire Method button
@IBAction func fireMethodBttnTouched(sender: AnyObject) {

    let delay = 1 * Double(NSEC_PER_SEC)
    let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
    dispatch_after(time, dispatch_get_main_queue()) { () -> Void in

        self.performSegueWithIdentifier("showSecondViewController", sender: self)
    }
}

}

您可以根据需要调整延迟常数。