【发布时间】:2016-12-12 03:31:58
【问题描述】:
我的故事板上有一个带有加载栏的视图。当我的代码正在运行时,我希望加载栏继续。完成后,我想用按钮加载另一个视图控制器。
我通过加载一个新的视图控制器来尝试这个,但我不知道动画师是什么。这是我的代码。
我必须为动画师使用什么?我是不是把故事板的概念弄错了?
override func viewDidAppear() {
super.viewDidAppear()
var deadlineTime = DispatchTime.now() + .seconds(1)
progressView.style = NSProgressIndicatorStyle(rawValue: 0)!;
progressView.startAnimation(self);
DispatchQueue.main.asyncAfter(deadline: deadlineTime) {
self.progressView.increment(by: 5)
deadlineTime = DispatchTime.now() + .seconds(1)
DispatchQueue.main.asyncAfter(deadline: deadlineTime) {
deadlineTime = DispatchTime.now() + .seconds(1)
self.progressView.increment(by: 10)
DispatchQueue.main.asyncAfter(deadline: deadlineTime) {
self.progressView.increment(by: 20)
self.progressView.stopAnimation(self)
//self.performSegue(withIdentifier: "bla", sender: self)
self.switchScreen()
}
}
}
}
func switchScreen(){
let main = NSStoryboard(name: "Main", bundle: Bundle.main)
let vc = self.storyboard?.instantiateController(withIdentifier: "finished") as! NSViewController
self.presentViewController(vc, animator: ???)
}
【问题讨论】:
-
是 NSViewControllerPresentationAnimator 的子类
-
我明白了。但是我该如何启动呢?我如何使用现有的动画师。我必须创建一个吗?
-
我有类似的问题..你是怎么解决的?
-
我不需要这么多视图,所以我放了多个元素和一个视图。当我需要它们时,我会隐藏并展示它们。不过仍然会对更好的解决方案感兴趣......
标签: swift macos viewcontroller nsviewcontroller