如何在视图控制器之间传递时显示活动指示器

时间:2016-11-08 11:16:44

标签: swift swift3 uistoryboardsegue uiactivityindicatorview

假设我有2 ViewControllers,在我的MainViewController中我有一个按钮,它执行一个segue到SecondViewController。当点击按钮时,我将一些初始数据保存到coreData,因此需要一些时间。

这是我想要做的事情; 在ViewControllers之间传递时,我想显示ActivityIndicator,但它在打开SecondViewController后启动。你可以帮帮我吗?我是Swift的新手。

以下是我在MainVC中使用的代码:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

        if (segue.identifier == "SecondViewController") {

            SwiftSpinner.show("Loading") // Act. indicator found on github

            willRunOnce() // Here Im saving data to CoreData

            SwiftSpinner.hide()
        }

    }

1 个答案:

答案 0 :(得分:1)

不要在ActivityIndicator方法中添加prepare(for:sender:)代码,而是需要在Button操作中调用它,然后调用performSegue(withIdentifier:sender:)方法。

@IBAction func onBtnSkip(_ sender: UIButton) {

    SwiftSpinner.show("Loading") // Act. indicator found on github
    willRunOnce() // Here Im saving data to CoreData
    SwiftSpinner.hide()

    //Now performSegue 
    self.performSegue(withIdentifier: "identifier", sender: nil)
}