SwiftSpinner没有在UIViewController上工作。

时间:2016-02-02 17:26:55

标签: swift uiactivityindicatorview

好的,我正在使用这个项目:https://github.com/icanzilb/SwiftSpinner

我下载了项目并从目录中获取了Swiftspinner.Swift文件并将其添加到我的项目中。

现在,当我添加这样的测试时:

 import UIKit

class ViewController: UIViewController {

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

    SwiftSpinner.show("Test")
}

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


}

当我运行时,没有发生任何事情。没有错误它只是说构建成功然后在模拟器中打开。 但是,如果我将顶级的类授权更改为:

class ViewController: UINavigationController {

我的作品,有人能理解这个吗?

1 个答案:

答案 0 :(得分:1)

将通话移至viewDidAppear(_:)

问题是ViewController很可能是您在创建项目时创建的初始视图。在控制器上调用viewDidLoad()时调用.view。由于这是初始视图控制器,因此尚未将其添加到关键窗口。结果,微调器将自己添加到关键窗口,然后将ViewController添加到覆盖微调器的关键窗口。如果您使用了视图层次结构调试器,您将能够看到这种情况发生。一旦设置了根视图,这将不再是一个问题,但在视图出现后修改UI仍然是最佳做法。