微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 启动屏幕,其行为与启动映像完全相同

@H_502_2@
In order to get iPad Pro to use full resolution at launch,we have to use a Launch Screen File

我以前从未使用过启动屏幕XIB /故事板,因为我的应用程序向后兼容于iOS 7.通常我使用LaunchImage asset catalog为每个设备维度和启动方向定义一个特定的静态映像。

现在我试图定义一个像LaunchImage资源目录一样的启动屏幕文件,但我很努力地做到这一点。尤其是:

1)根据设备的确切尺寸,我看不到选择不同UIImage的好方法。向iPhone 4S用户显示一个图像,另一个图像显示给iPhone 5用户

2)我没有看到选择不同的UIImage的iPad肖像和iPad景观视图。大小类似于认为iPad肖像和iPad景观都是“常规”宽度和“常规”高度,所以任何出现在iPad Portrait上的UIImage也将显示在iPad Landscape中。

@H_502_2@

解决方法

系统在启动应用程序之前加载启动文件,该应用程序会对可能包含的内容产生一些限制(其中一些可能会强制您返回静态映像文件):

1.应用程序尚未加载,因此视图层次结构不存在,并且系统无法调用应用程序中可能拥有的任何自定义视图控制器设置代码(例如viewDidLoad)

2.您只能使用标准的UIKit类,因此您可以使用UIView或UIViewController,但不能使用自定义子类。如果您尝试设置一个自定义类,您将在Xcode中收到一个非法配置错误

3.启动文件只能使用基本的UIKit视图,如UIImageView和UILabel。您不能使用UIWebView。

4.如果您使用的是故事板,您可以指定多个视图控制器,但是还有一些限制。例如,您可以将视图控制器嵌入到导航或制表符栏控制器中,但是更复杂的容器类(如UISplitViewController)不起作用(至少尚未)。

启动文件的定位目前似乎没有任何效果。始终使用基本本地化,因此您可能希望避免启动屏幕上的文本。

6.您不能为iPad和iPhone指定不同的启动文件。这可能是一个问题,如果您有明显不同的接口为这些设备,因为只有这么多你可以做自动布局和大小类。

请注意,如果要部署到iOS 7,您仍然需要包含静态启动映像文件。您可以同时包含启动映像文件和静态启动映像。诸如运行iOS 8的iPhone 6之类的设备将使用启动图像文件,而iOS 7设备将会回退到启动图像。

@H_502_2@ @H_502_2@
@H_502_2@
@H_502_2@

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐