在呈现新的viewController时显示progressHUD

时间:2015-05-24 07:58:38

标签: ios objective-c swift uiviewcontroller

我通过故事板呈现一个新的ViewController。我不确定如何在呈现另一个ViewController所需的时间内显示progressHUD。

我目前的做法

我正在使用SVProgressHUD,这就是我的做法。 SVProgressHUD在呈现另一个ViewController时不会立即显示。

方法的主要问题

进度条仅在ViewController的演示结束时显示,而不是立即显示。

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
    var destViewController : UIViewController!
    switch (indexPath.row) {
    case 0:

        SVProgressHUD.show() // This shows the progress bar b
        destViewController = mainStoryboard.instantiateViewControllerWithIdentifier("myViewController") as! UIViewController
        break

2 个答案:

答案 0 :(得分:1)

要隐藏进度视图,您可以使用回调' - (void)prepareForSegue:sender:'。在即将显示新的视图控制器之前,会在视图控制器上调用此方法。

以下是API参考:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instm/UIViewController/prepareForSegue:sender

答案 1 :(得分:1)

您可以使用

以编程方式执行此操作
self.presentViewController(destViewController, animated: true) { () -> Void in
    // After presentation finishes.
    SVProgressHUD.dismiss() // dismiss HUD.
}