重用LaunchScreen.storyboard xib
Reuse LaunchScreen.storyboard xib
我有一个 LaunchScreen.storyboard 我想重复使用。
我遇到的问题是 viewDidLoad 被触发得太快了。当应用程序启动时,后台会进行一些初始处理。因为处理是在后台进行的,所以有一个短暂的间隔,因为 viewDidLoad 会在一秒钟后触发,但这里是后台处理完成前大约 5 秒。
我想在 viewDidLoad 的开头加载并显示 LaunchScreen.storyboard 以扩展它,直到背景内容完成。
我正在尝试调整这个:
let storyboard = UIStoryboard(name: "LaunchScreen", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("someViewController") as! UIViewController
self.presentViewController(vc, animated: true, completion: nil)
然而,它的错误是:
Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: 'Storyboard () doesn't contain a view controller with identifier
'someViewController''
显然,问题之一是 'someViewController'。我不知道 LaunchScreen 故事板是否有视图控制器,所以这就是我卡住的地方。
非常感谢任何指点。
someViewController
其实应该是Interface Builder中设置的名字。恐怕没有简单的方法(如果有的话)重用 LaunchScreen.storyboard
(实际上是 xib
)——如果你在 Interface Builder 中查看它,没有 View Controller
那里,只有一个 view
- 其余的都是在引擎盖下完成的。
现在要解决您的问题 - 您可以做两件事:
添加一个与您的启动屏幕相同的 "splash screen" 视图控制器,并仅在应用加载数据后将其关闭。我不确定,但请记住,这可能是 Apple 审查期间不批准的原因,因为您有意延长应用程序的启动时间。
我认为这种方式更好 - 向用户表明您的应用仍在加载一些数据,并在完成后刷新您的视图。
我有一个 LaunchScreen.storyboard 我想重复使用。
我遇到的问题是 viewDidLoad 被触发得太快了。当应用程序启动时,后台会进行一些初始处理。因为处理是在后台进行的,所以有一个短暂的间隔,因为 viewDidLoad 会在一秒钟后触发,但这里是后台处理完成前大约 5 秒。
我想在 viewDidLoad 的开头加载并显示 LaunchScreen.storyboard 以扩展它,直到背景内容完成。
我正在尝试调整这个:
let storyboard = UIStoryboard(name: "LaunchScreen", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("someViewController") as! UIViewController
self.presentViewController(vc, animated: true, completion: nil)
然而,它的错误是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Storyboard () doesn't contain a view controller with identifier 'someViewController''
显然,问题之一是 'someViewController'。我不知道 LaunchScreen 故事板是否有视图控制器,所以这就是我卡住的地方。
非常感谢任何指点。
someViewController
其实应该是Interface Builder中设置的名字。恐怕没有简单的方法(如果有的话)重用 LaunchScreen.storyboard
(实际上是 xib
)——如果你在 Interface Builder 中查看它,没有 View Controller
那里,只有一个 view
- 其余的都是在引擎盖下完成的。
现在要解决您的问题 - 您可以做两件事:
添加一个与您的启动屏幕相同的 "splash screen" 视图控制器,并仅在应用加载数据后将其关闭。我不确定,但请记住,这可能是 Apple 审查期间不批准的原因,因为您有意延长应用程序的启动时间。
我认为这种方式更好 - 向用户表明您的应用仍在加载一些数据,并在完成后刷新您的视图。