ios 8 swift - 在显示视图后做一些事情
ios 8 swift - doing stuff after displaying a view
我正在开发一个应用程序,它有一个按钮可以打开访问相机的视图。
所以,我有一个按钮来触发 segue(使用故事板),在我的另一个视图中,在 viewDidLoad()
内,我正在做我需要的一切来开始视频捕获。
问题是在触摸按钮和显示视图之间需要一些时间,我不喜欢它。
如果我评论有关视频捕获的所有内容,视图会立即显示。
所以,我认为延迟是由于准备访问相机造成的。
如何显示视图,空视图,然后做显示相机的东西?
只需使用 viewDidAppear
加载该视图控制器中的所有方法,而不是像这样使用 viewDidLoad
方法:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
}
如果您想显示新的视图控制器然后激活相机,请将您的代码从 viewDidLoad
移动到 viewDidAppear
。您可以尝试 viewWillAppear
,但根据您的代码执行的操作,您可能只会遇到与现在相同的问题。
这里你必须小心,只激活一次,因为 viewWill/DidAppear
可以调用多次:特别是当你按下顶部的控制器弹出时暴露的结果。
我正在开发一个应用程序,它有一个按钮可以打开访问相机的视图。
所以,我有一个按钮来触发 segue(使用故事板),在我的另一个视图中,在 viewDidLoad()
内,我正在做我需要的一切来开始视频捕获。
问题是在触摸按钮和显示视图之间需要一些时间,我不喜欢它。
如果我评论有关视频捕获的所有内容,视图会立即显示。
所以,我认为延迟是由于准备访问相机造成的。 如何显示视图,空视图,然后做显示相机的东西?
只需使用 viewDidAppear
加载该视图控制器中的所有方法,而不是像这样使用 viewDidLoad
方法:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
}
如果您想显示新的视图控制器然后激活相机,请将您的代码从 viewDidLoad
移动到 viewDidAppear
。您可以尝试 viewWillAppear
,但根据您的代码执行的操作,您可能只会遇到与现在相同的问题。
这里你必须小心,只激活一次,因为 viewWill/DidAppear
可以调用多次:特别是当你按下顶部的控制器弹出时暴露的结果。