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

时间:2015-12-19 02:36:58

标签: ios swift uistoryboard

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

如果我想以1-2秒的速度放慢过渡速度,我该怎样做呢?

1 个答案:

答案 0 :(得分:2)

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

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

代码示例:

<强>故事板

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

enter image description here

我已将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)
    }
}

}

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