Ios 增加Swift 4中启动屏幕的时间

Ios 增加Swift 4中启动屏幕的时间,ios,swift,splash-screen,launch-screen,Ios,Swift,Splash Screen,Launch Screen,我在Swift 4项目中工作,我已经设置了LaunchScreen.storyboard。我想增加它的显示时间 我在这里看到过解决方案,但它们在Objective-C中,但我需要Swift中的解决方案。有人知道我如何做到这一点吗。如果你制作了一个假启动屏幕,你就有可能完全能够制作任何动画和声音效果。假启动屏幕只是应用程序启动后显示的UIView或UIViewController 例如,添加一个与您的假启动屏幕具有相同背景颜色的真实启动屏幕。在假启动屏幕上,您可以让它显示任意时间。最佳方法是制作假

我在Swift 4项目中工作,我已经设置了LaunchScreen.storyboard。我想增加它的显示时间


我在这里看到过解决方案,但它们在Objective-C中,但我需要Swift中的解决方案。有人知道我如何做到这一点吗。

如果你制作了一个假启动屏幕,你就有可能完全能够制作任何动画和声音效果。假启动屏幕只是应用程序启动后显示的UIView或UIViewController


例如,添加一个与您的假启动屏幕具有相同背景颜色的真实启动屏幕。在假启动屏幕上,您可以让它显示任意时间。

最佳方法是制作假启动屏幕

黑客的解决方案是,创建一个有时间间隔的线程, 在appDelegate方法中添加以下代码
didFinishLaunchingWithOptions

不要使用这种方法,因为这种方法也可能导致App Store拒绝

Thread.sleep(forTimeInterval: 3)

据我所说,其中一个解决方案是创建新的视图控制器,这是有你的飞溅设计和重定向后的时间,无论你想

正在此处重定向代码id

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    [self TabBarPush];

});
使用新的视图控制器作为启动的好处是,您可以对其进行自定义、编码,还可以在启动屏幕中添加任何类型的动画,例如加载程序等

如果你想在重定向之前获取一些数据,那么你也可以这样编码

[[syncEngine sharedEngine] syncAllData:^(BOOL finished) {
        [self TabBarPush];
}];

谢谢。

如果您有一个在obj-c中工作的解决方案,您可以将其转换为swift。您需要更具体一些。如果您有Obj-C答案,请将其转换为Swift-相同的API,只是语法不同-或显示您对它的最佳转换并寻求帮助。@rmaddy但bro其客户要求…我们需要按照客户要求执行..::(好吧,那是他们愚蠢的选择。但是不要使用任何睡眠的解决方案。这是一个非常非常糟糕的解决方案。不要接受这样的答案。好吧,兄弟,谢谢:)@rmaddyNo,不要这样做。不要在主队列上睡觉。iOS会因为启动时间过长而终止你的应用程序。完全同意@rmaddy和Sam的观点。最好的方法是制作一个假启动屏幕。如果你真的必须惩罚你的用户,这是正确的解决方案。这是苹果关于启动屏幕的说法
启动屏幕不是艺术表达的机会。它的唯一目的是增强您的应用程序的快速启动和立即可用的感觉。每个应用程序都必须提供启动屏幕。