我正在使用新的Xcode 6 GM Seed并在iPhone 6和iPhone 6 Plus模拟器上测试我的应用程序。我对之前正在研究的一些项目产生了一种奇怪的影响,即视图似乎正在获得“放大”效果。
这是一个例子。这两个视图控制器完全相同(减去不同的导航项文本),直到标签文本大小。但是,您可以看到视图显示不同。
请注意,具有奇怪缩放效果的项目的部署目标为8.0。
注意: 通过在新的Xcode 6 GM Seed中创建项目,我得到了正常的工作(不适用的项目是在旧版本的Xcode上制作的)。
答案 0 :(得分:22)
这是默认设置,这就是所有现有应用在新iPhone上运行的方式 - 它们将被“缩放”。
要创建一个实际使用额外屏幕尺寸的应用,您必须使用4“iPhone,添加特定于两个iPhone 6的特定启动图像。
如果您使用的是资产目录,请转到LaunchImages资产目录并为两个新iPhone添加新的启动图像。您可能需要右键单击并选择“添加新启动图像”以查看添加新图像的位置。
此外,使用启动屏幕xib文件而不是图像立即解决了这个问题,这是推荐的前进方式。以下是向您的应用添加启动屏幕的步骤:https://stackoverflow.com/a/25763870/422288
答案 1 :(得分:2)
添加Launch Image无法解决此问题。
您需要将LaunchScreen.xib添加到项目中,并将Launch screen interface file base name
- LaunchScreen
添加到Info.plist
使用Xcode 6 GM创建一个新项目。您将看到LaunchScreen.xib是什么。您可以将其复制到现有项目中。
答案 2 :(得分:2)
对于新的发布图像尺寸,Apple似乎没有更新文档,但您可以从Xcode中找到它们。如果按Maddy所述添加新的启动图像,则可以在检查器面板中查看新的尺寸。 iOS 8包含三个新图像,如果状态栏在启动时隐藏,则不需要不同的图像。尺寸为:
iOS 8 iPhone Portrait
Retina HD 5.5 1242x2208
Retina HD 4.7 750x1334
iOS 8 Landscape
Retina HD 5.5 2208x1242
您可以在Xcode中添加它们或编辑.xcassets文件中的json文件并将图像放入包中。如果您选择编辑包,请将这些行添加到文件顶部:
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "736h",
"filename" : "Default-736h@3x.png",
"minimum-system-version" : "8.0",
"orientation" : "portrait",
"scale" : "3x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "736h",
"filename" : "Default-Landscape@3x.png",
"minimum-system-version" : "8.0",
"orientation" : "landscape",
"scale" : "3x"
},
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "667h",
"filename" : "Default-667h@2x.png",
"minimum-system-version" : "8.0",
"orientation" : "portrait",
"scale" : "2x"
}
我保留了之前用于肖像文件的命名约定。以前手机上从来没有风景选项,所以我保留了iPad的命名惯例。当然,你可以为他们命名。
编辑:请注意,唯一将以横向模式启动的手机是iPhone 6 Plus。其余手机只能以纵向模式启动。
答案 3 :(得分:1)
答案 4 :(得分:0)
@JScarry,你的解决方案还可以,但不允许在iPhone 6上显示风景图像。Here is a solution that works(它需要横向和纵向图像在同一维度350x667,景观图像应该只是旋转)
答案 5 :(得分:0)