首页 文章

支持iPhone 6和iPhone 6,具有不同的启动/启动屏幕图像,适用于iPad纵向和横向方向

提问于
浏览
28

我从可用的文档和我的测试中理解的是

  • iPhone 6和6 Plus上的所有现有应用程序均以兼容模式运行,这意味着API(如[UIScreen mainScreen] .bounds)将在新的iPhone(6/6 Plus)和所有UI中返回320x568(iPhone 5 / 5s)由iOS缩放到正确的分辨率 .

  • 为了支持iPhone 6 / 6Plus,我们需要为Launch Screen创建xib(File-> New-> File-> UserInterace-> Launch Screen)并将nib文件设置为“Launch Screen File” .

  • 我们可以根据avaialble size类在Launch screen nib文件中为启动画面设置不同的图像 . [基本上任意,常规和紧凑的组合]

  • 无法区分纵向iPad和横向iPad(均为常规宽度常规高度) . 此外,没有办法区分iPhone 4/4和iPhone 5 / s .

有没有办法可以支持iPhone 6/6 Plus模式,还可以为纵向和iPad横向提供不同的iPad发布图像?

另见这里类似的问题iOS 8 size classes for iPad landscape

2 回答

  • 34

    您无需使用启动屏幕文件即可使您的App iPhone 6/6分辨率兼容 . 相反,您可以选择LaunchImage资产作为启动图像源 .

    它可以在您的目标下的“应用程序图标和启动图像”中找到:

    enter image description here

    如果没有LaunchImage资产,只需转到Images.xcassets,进行辅助点击(右键单击)并选择“新启动图像”:

    enter image description here

    结果是这样的:

    enter image description here

    现在只需拖放您想要支持的特定分辨率的图像,并将创建的LaunchImage资源设置为源 .

    希望能帮助到你

    干杯

  • 23

    资产目录目前在iPhone上的横向模式下工作ios8 . 我有苹果支持的回应:

    “在iPhone上横向启动的资产目录和应用程序中存在涉及启动图像的错误 . 在幕后,资产目录编译器在最终的Info.plist中生成相同的UILaunchImages密钥[1],当您使用时手动指定启动图像 . 在UILaunchImages键下指定的每个启动图像的一个子键是UILaunchImageOrientation,它总是由资产目录编译器设置为Portrait . 这是有道理的,因为iPhone上的应用程序始终以纵向方式启动[2]但是,iOS应用程序启动程序决定由于您的UISupportedInterfaceOrientations仅包含UIInterfaceOrientationLandscapeLeft和UIInterfaceOrientationLandscapeRight,因此它只会在UILaunchImages键下查找横向启动图像,但它找不到任何图像 . 因为无法强制资产目录编译器指定对于iPhone发射图像的UILaunchImageOrientation子键的景观,你应该继续speci通过像以前一样编辑应用的信息属性列表来启动您的启动图像 . “

相关问题