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 仍然是最佳做法。
好的,所以我正在使用这个项目: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 仍然是最佳做法。