启动支持iOS6和iOS7的屏幕-强制启动屏幕

启动支持iOS6和iOS7的屏幕-强制启动屏幕,ios7,splash-screen,Ios7,Splash Screen,当涉及到启动屏幕时,我找不到一种统一的方式来模仿iOS6和iOS7上应用程序的外观(支持两者)。如果我们有一个工具栏菜单,我们是否被迫定期启动一个徽标或类似的屏幕,或者你们有什么好主意如何解决它?简短回答 在iOS 7中,应用程序可以使用不同的启动映像,具体取决于它运行的iOS版本。要提供不同的启动映像,请将UILaunchImages键添加到Info.plist文件中,并使用字典描述每个启动映像 背景 它使用以下键: UILaunchImageName-包含PNG图像文件名称的字符串。图像文件

当涉及到启动屏幕时,我找不到一种统一的方式来模仿iOS6和iOS7上应用程序的外观(支持两者)。如果我们有一个工具栏菜单,我们是否被迫定期启动一个徽标或类似的屏幕,或者你们有什么好主意如何解决它?

简短回答 在iOS 7中,应用程序可以使用不同的启动映像,具体取决于它运行的iOS版本。要提供不同的启动映像,请将UILaunchImages键添加到Info.plist文件中,并使用字典描述每个启动映像

背景 它使用以下键:

UILaunchImageName-包含PNG图像文件名称的字符串。图像文件必须位于应用程序包的顶层。 为此键指定的名称不应包含文件名 扩展名,也不应包括诸如@2x、-568h、, ~iphone或~ipad

在磁盘上,您的映像文件名可能仍然包括@2x,-568h, ~iphone或~ipad修改器(视情况而定),尽管它们不是 必修的。当发生以下情况时,系统会自动考虑此类修改器: 选择要加载的文件

UILaunchImageMinimumOSVersion-对于iOS7,这应该是一个字符串“7.0”

UILaunchImageOrientation–包含以下内容之一的字符串:纵向、纵向、横向、景观左侧、景观右侧

UILaunchImageSize–指定宽度和高度的字符串,例如:“{320480}”。您必须指定相对于的宽度和高度 将设备设置为纵向。换言之,肖像和照片 针对同一设备的横向图像将具有相同的宽度 和身高

如果此密钥存在,iOS 7将专门使用它来获得启动 图像

但是:我发现坚持iOS7的命名约定也有很大帮助

iOS 7.0及更高版本支持此密钥

好吧,那现在怎么办? 因为我已经有了iOS6的启动映像以及它们所有特定的命名约定。我选择复制所有这些文件,并在名称前加上“iOS7-”,以限制我自己对所有不同大小和名称的混淆。制作一个前缀应该很方便,因为这样大多数图像就会立即正确加载

文件名: 我已经为iOS6准备了这些,我还列出了需要的文件大小:

  • Default.png
    (320x480)
  • Default@2x.png
    (640x960)
  • Default@2x~ipad.png
    (2048x1496)
  • 默认~ipad.png
    (768x1004)
  • Default1024x768.png
    (1024x768)
  • Default1024x768@2x.png
    (2048x1536)
  • 违约-568h@2x.png
    (640x1136)
  • Default768x1024.png
    (768x1024)
  • Default768x1024@2x.png
    (1536x2048)
  • 默认景观~ipad.png
    (1024x748)
  • 违约-Portrait@2x~ipad.png
    (1536x2048)
因此,我为iOS7复制了所有这些文件名(大小相同),并在它们前面加上“iOS7-”:

  • iOS7-Default.png
  • 损失7-Default@2x.png
在XCode中 现在在PLIST中创建条目。转到您的应用程序名称.plist。在空白区域中,右键单击并选择“添加行”。确保它成为.plist中某些其他信息的顶部项而不是子项

写:
UILaunchImages

右键单击此UILaunchImages并选择值类型“Array”

使用下面的插图作为文本指南,并了解完成后文本的外观:

如果打开此数组,使左侧的小指示器三角形指向下方,则第一次为空,但如果在打开时选择“添加行”,则将创建一个子行。现在就这样做:

右键单击UILaunchImages并选择“添加行”。 右键单击该新行(项目0)并选择值类型“Dict”

使用三角形指示器继续打开此项目,右键单击并“添加行”

您将为该项目命名
UILaunchImageMinimumOSVersion
,并将值类型设置为“字符串”,将字符串设置为“7.0”

现在,以下是所有字符串,应该与UILaunchImageMinimumOSVersion项处于同一级别。在同一条格言(字典)中。只需为每个行选择“添加行”,即可创建这些行:

UILaunchImageName
–base-name-of-iOS7-launch-image。就我而言,这是“iOS7违约”

UILaunchImageOrientation
-示例:纵向

UILaunchImageSize
-基本基iOS7-Default.png的大小:“{320480}”。程序将查找所有具有基名称排列的文件。请记住,选择文件的基本名称时不带ipad/iphone/纵向/横向或.png规范

注意:

在所有可用插槽中首次添加iOS6映像后,Xcode已在.plist中为我创建了以下项:-)

UILaunchImageFile~ipad…=“默认”-所以这没问题

UILaunchImages~ipad……有两个项目需要更新到iOS7版本,因为它们现在错误地保存了iOS6版本。那些我命名为Default1024x768和Default768x1024的名字,现在我只是在每个名字前面加上“iOS7-”,我就完成了

希望直接编辑plist的用户可能会看到的示例:
UILaunchImages
UILaunchImageMinimumOSVersion
7
UILaunchImageName
iOS7违约
维吾尔语
肖像画
UILaunchImageSize
{320, 480}

[edit by jd:fixed拼写为“UILaunchImages”]

您还可以使用Xcode 5中的新功能来管理多个版本的启动图像。

现在您可以直接添加
<key>UILaunchImages</key>
  <array>
    <dict>
      <key>UILaunchImageMinimumOSVersion</key>
      <string>7.0</string>
      <key>UILaunchImageName</key>
      <string>iOS7-Default </string>
      <key>UILaunchImageOrientation</key>
      <string>Portrait</string>
      <key>UILaunchImageSize</key>
      <string>{320, 480}</string>
    </dict>
  </array>