如何隐藏启动图像而不将其淡出? [复制]

Posted

技术标签:

【中文标题】如何隐藏启动图像而不将其淡出? [复制]【英文标题】:How do I hide the launch image without fading it out? [duplicate] 【发布时间】:2014-02-26 00:58:27 【问题描述】:

我想立即隐藏启动图像,而不是将其淡出。有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

您可以使用与您的启动图像相同的UIImageView 创建一个初始视图控制器。然后,您可以在应用程序中的初始视图控制器和第一个实际视图控制器之间指定您想要的任何动画。

【讨论】:

另外,您应该努力确保您的应用加载速度相对较快。这是通过确保您的根视图控制器尽可能轻量级来实现的。【参考方案2】:

正如其他人所说,答案相当直截了当。只要启动图像后面的 UIView 外观相同,您所要做的就是将自定义转换延迟 100 毫秒(用户不会注意到延迟),以便启动图像可以淡入 0 alpha。

double delayInSeconds = 0.1;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^()
    // Do custom launch image transition
);

这可以无缝运行!

【讨论】:

【参考方案3】:

创建包含 UIImageView 的视图控制器,然后只使用 NSTimer 然后切换到主控制器。

【讨论】:

为什么要使用 NSTimer?要求“立即”隐藏启动图像的问题......没有必要延迟。 误读了问题哎呀。我以为应用程序打开后启动图像就消失了?学到了新东西哈哈。【参考方案4】:

启动图像显示时间取决于您应用的实现,更简单的启动时间更短。我不能说到底是什么因素影响了时间。但是你不能自己立即隐藏,你可以做的只是显示一些其他的动画,必须基于启动图像然后做各种启动动画。不管做什么样的动画,都会投入更多的发射时间,但要让发射成为特色。

【讨论】:

以上是关于如何隐藏启动图像而不将其淡出? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Java 裁剪图像而不将其加载到内存中

如何从 PHP 扩展返回数组,而不将其复制到内存中?

如何在项目中包含/引用文件而不将其复制到项目目录?

可以隐藏 SlickGrid 列而不将其从“列”数组中删除吗?

Android:旋转图像而不将其加载到内存中

捕获图像而不将其存储到内部/外部存储