SwiftSpinner 无法在 UIViewController 上工作。

SwiftSpinner not working on UIViewController.

好的,所以我正在使用这个项目: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 委托更改为:

class ViewController: UINavigationController {

我在工作,有人能理解吗?

将呼叫转移到 viewDidAppear(_:)

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