好的,我正在使用这个项目: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 {
我的作品,有人能理解这个吗?
答案 0 :(得分:1)
将通话移至viewDidAppear(_:)
。
问题是ViewController很可能是您在创建项目时创建的初始视图。在控制器上调用viewDidLoad()
时调用.view
。由于这是初始视图控制器,因此尚未将其添加到关键窗口。结果,微调器将自己添加到关键窗口,然后将ViewController添加到覆盖微调器的关键窗口。如果您使用了视图层次结构调试器,您将能够看到这种情况发生。一旦设置了根视图,这将不再是一个问题,但在视图出现后修改UI仍然是最佳做法。