即时为我的iPad应用程序使用 Default.png 文件。它看起来正确,但我无法找到一种方法来修改启动画面的持续时间。有人有什么建议吗?谷歌有很多网站展示如何设置启动屏幕,但无法为我的问题找到解决方案。
答案 0 :(得分:17)
Human Interface Guidelines for Splash Screens的第一条规则是:不要使用启动画面。第二条规则是:不要使用启动画面!:
提供启动图像以改善用户体验。
避免使用您的启动图片作为提供的机会:
“应用程序输入体验”,例如启动画面
关于窗口
品牌元素,除非它们是应用程序第一个屏幕的静态部分
如果你绝对必须包含一个长时间的启动画面,并且这样做有很好的理由,通常的方法是抛出一个UIImageView
,其中包含你的启动图像副本,例如{{ 1}} - 这应该提供长时间闪屏的幻觉。
但请不要。
答案 1 :(得分:10)
使用“启动画面”(徽标等)不是Default.png的想法!
阅读Apple的HIG。
(启动)屏幕(名为加载屏幕)不适用于显示的徽标或类似内容。 启用多任务处理后,“启动画面”显示非常罕见。 像苹果应用程序一样,启动画面应该只显示第一个应用程序屏幕中出现的界面,没有任何本地化的字符串等。
还要记住: iOS设备获得的速度越快,您可以看到Default.png越短。因此,请避免将其用于任何重要的CI / CD内容。
答案 2 :(得分:6)
应用程序加载时会显示默认图像,并在应用程序准备就绪后立即关闭。并且没有API来控制持续时间。
答案 3 :(得分:1)
您无法从技术上修改“默认”图片停留的持续时间;它被设计成只是一个临时图像“预示”应用程序实际启动,并不是专门设计为闪屏。
我建议您在-application:didFinishLaunchingWithOptions:方法中启动应用程序时,通过向屏幕添加图像视图来保持“启动画面效果”。然后,您可以设置一个计时器,该计时器调用一个方法,在指定的时间之后关闭启动画面。它会比你指定的时间长一些,具体取决于应用加载的实际时间,但它会产生你想要的效果。
您可以将图像视图的图像设置为[UIImage imageNamed:@“Default”],它将为您访问该默认图稿。
答案 4 :(得分:0)
您无法更改持续时间。如果您希望它显示的时间更长,您可以将相同的图像添加到您在加载数据时显示的视图中!
答案 5 :(得分:0)
这里有一篇很好的博客文章,介绍如何使用带有计时器的UIImageView
创建启动画面:
http://nullpointr.wordpress.com/2012/02/19/iphone-dev-how-to-implement-a-splash-screen/
对初学者很有用,他们仍在学习在iOS中做事的最佳方法。
答案 6 :(得分:0)
正如@Conrad Shultz所说,只有Xcode提供的LaunchScreen.storyboard
文件才能使用启动画面。
但是,在极少数情况下,您确实需要延长启动画面:
这是做到这一点的方法:
在AppDelegate
内,didFinishLaunchingWithOptions
下你应该:
代码:
let splashVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "splash")
window?.makeKeyAndVisible()
if let root = window?.rootViewController
{
root.present(splashVC, animated: false, completion: nil)
let dispatchTime = DispatchTime.now() + 3
// didFinishLaunchingWithOptions will return and this block will be executed afterwards, hence, async..
DispatchQueue.main.asyncAfter(deadline: dispatchTime, execute: {
root.presentedViewController?.dismiss(animated: false, completion: nil)
})
}
}