当谈到启动屏幕时,我找不到一种统一的方式来模仿iOS6和iOS7上的应用程序外观(支持两者)。如果我们有工具栏菜单,或者你们有什么好主意如何解决它,我们是否被迫定期制作徽标或类似的闪屏?
答案 0 :(得分:73)
在iOS 7中,应用可以使用不同的启动图像,具体取决于运行的iOS版本。要提供不同的启动图像,请将 UILaunchImages 键添加到Info.plist文件中并使用用于描述每个发布图像的字典。
它使用以下键:
UILaunchImageName - 包含PNG图像文件名称的字符串。图像文件必须位于应用程序包的顶层。 您为此密钥指定的名称不应包含文件名 扩展,也不应该包括修饰符,如@ 2x,-568h, ~iphone,或~ipad。
在磁盘上,您的图像文件名可能仍包含@ 2x,-568h, ~iphone,或~ipad修饰符,尽管它们不是 需要。系统会自动考虑此类修饰符 选择要加载的文件。
UILaunchImageMinimumOSVersion - 对于iOS7,这应该是一个字符串“7.0”。
UILaunchImageOrientation - 包含以下内容之一的字符串:Portrait,PortraitUpsideDown,Landscape,LandscapeLeft,LandscapeRight。
UILaunchImageSize - String 指定宽度和高度,例如:“{320,480}”。您必须指定相对于的宽度和高度 设备纵向。换句话说,肖像和 定位到同一设备的风景图像将具有相同的宽度 和身高。
如果存在此密钥,iOS 7将专门用于获取启动 图片。
但是:我发现坚持iOS7的命名约定也有很多帮助!
iOS 7.0及更高版本支持此密钥。
因为我已经为iOS6启动了图像并且具有所有特定的命名约定。我选择复制所有这些,并在名称前加上“iOS7-”,以限制我对所有不同尺寸和名称的混淆。制作一个前缀应该会派上用场,因为大多数图像会立即正确加载。
文件名: 我已经为iOS6提供了这些,我还列出了有需要的人的文件大小:
(320x480)
(640x960)
(2048x1496)
(768x1004)
(1024x768)
(2048x1536)
(640x1136)
(768x1024)
(1536x2048)
(1024x748)
(1536x2048)
所以我为iOS7(相同大小)制作了所有这些文件名的副本,前缀为" iOS7 - ":
现在在PLIST中创建您的条目。转到your-name-of-application.plist。在空白区域中,右键单击并选择“添加行”。确保它成为顶级项目,而不是.plist中的其他信息的子项。
写:
UILaunchImages
右键单击此UILaunchImages并选择值类型“Array”。
使用下面的插图作为文本指南以及完成后文本的外观:
如果你打开这个数组,左边的小指示三角形指向下方,它第一次就是空的,但如果你选择“添加行”,它会打开它会创建一个子行。现在就这样做:
右键单击UILaunchImages并选择“添加行”。 右键单击此新行(项目0)并选择值类型“Dict”
使用三角形指示器继续打开此项目,然后右键单击并“添加行”
此项目您将命名为UILaunchImageMinimumOSVersion
并将值类型设置为“string”,将字符串设置为“7.0”
现在以下是所有字符串,并且应与UILaunchImageMinimumOSVersion项目处于同一级别。在同一个词典(字典)。只需为每个选择“添加行”创建这些:
UILaunchImageName
- iOS7-launch-image的基本名称。就我而言,这是“iOS7-Default”
UILaunchImageOrientation
- 示例:肖像
UILaunchImageSize
- 基本iOS7-Default.png的大小:" {320,480}"。程序将找到具有基本名称排列的所有文件。请记住选择没有ipad / iphone / portrait / landscape或.png规范的文件的基本名称。
注意:强>
在首次在所有可用插槽中添加iOS6图像后,Xcode已经为.plist制作了以下项目: - )
UILaunchImageFile~ipad ... =“默认” - 所以这没关系
UILaunchImages~ipad ...有两个项目需要更新到iOS7版本,因为他们现在错误地持有iOS6版本。那些我命名为Default1024x768和Default768x1024的人,现在我只为每个名字添加了“iOS7-”,我就完成了。
<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>
[由jd编辑:&#34的固定拼写; UILaunchImages&#34;]
答案 1 :(得分:8)
在项目浏览器中突出显示项目,选择“常规”,向下滚动到“应用程序图标”,单击“使用资产目录”,然后选择“迁移”。您现有的图标和初始屏幕将自动迁移到资产目录中。然后,您可以选择目录以添加更多图像。
要添加新图像,您只需从Finder拖动并放入每个图像类型的正方形。
(注意:目录编辑器莫名其妙地使用不可滚动的宽格式,如果屏幕不够宽,你可能会丢失右侧的东西。)
答案 2 :(得分:5)
您还可以使用Xcode 5中的新image catalogue功能来管理多个版本的启动图像。
答案 3 :(得分:0)
现在您可以直接在images.xcassets中添加应用图标和启动图片, 点击+按钮为iOS 5,6,7,iphone4,iPad添加iphone5的相应图像集。 现在无需像default.png,default @ 2x.png
那样设置图像名称答案 4 :(得分:0)
使用images.xcassets存储库时会收到警告,它不允许您本地化启动画面。
我目前正试图获得我们应用的法语和英语版本。
WWW&GT;如果你需要本地化你的启动画面,这种'plist'方法会起作用吗?
答案 5 :(得分:0)
我也为iOS 7开发的旧应用程序遇到了同样的问题。使用Xcode 6可以很好地存档和上传,但是#4;二进制文件没有针对iPhone5和#34;进行优化。 Xcode 7返回错误。在尝试了无数其他解决方案之后,我只是删除了对任何启动映像的所有引用(因为我使用的是通用.xib)并将部署目标设置为7.0到8.0