3.0版[iPhone SDK]中的动态(Default.png)启动画面

4
我知道可以通过创建符号链接来创建动态可变的Default.png。但是在iPhone SDK 3.0中不再支持这种方式(仅限于2.0)。 我该如何在3.0中实现这一点,或者这是不可能的? 蒂姆
这在iPhone OS 2.0上起作用http://collison.ie/blog/2008/11/dynamic-defaultpng-files-on-the-iphone,但在iPhone OS 3.0上不再起作用。默认屏幕始终为黑色。
我可以在文档文件夹中更改默认屏幕,并且符号链接确实链接到该文件。我通过从模拟器浏览应用程序文件夹来测试了这一点。我在文档目录中看到了正确的文件,并且我看到符号链接指向那个(正确的)文件。
2个回答

7

在3.0版本中无法实现。这只是在2.0版本中由于一个可利用的漏洞而变成可能。3.0中修复了这个漏洞,因此不再可能。

苹果不打算将Default.png作为“启动画面”。

如果您阅读了HIG,您会发现Default.png应该表示您的用户界面在没有任何内容的情况下的样子。它旨在给用户一种“几乎即时”启动的幻觉。

查看iPhone上的所有Apple应用程序,您将看到默认.png的正确用法。

苹果公司不赞成将Default.png用作启动画面。他们说,它只适用于不使用SDK提供的标准UI元素的应用程序,如游戏等应用。

话虽如此,现在有很多应用程序都在使用此功能来显示启动画面,似乎苹果并没有严格执行这个指南。

长话短说,您可以设置启动画面,但它不能是动态的了 - 不再支持。


谢谢,我希望在新的SDK中能够实现这个(类似于应用程序代理之类的):
  • (UIImage )defaultImage { / 对于标准的default.png 返回nil */ return [UIImage imageNamed:@"someotherdefault.png"]; } 例如
- cutsoy
1
我怀疑在未来的SDK版本中这将不可能。系统需要在任何你的应用程序代码执行之前访问图像,因为它在启动动画中需要使用。 - Jasarien

3

使用一个空的Default.png,然后在应用程序委托的-applicationDidFinishLaunching:方法中加载包含动态内容的UIView。这个解决方案回避了与苹果SDK条款以及所有技术问题的任何冲突。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接