Xcode6在iPhone5+iOS7模拟器上编译,出现上下有黑边问题

本文详细解释了Xcode6在Xcode5基础上的调整导致的iPhone5或iPhone5s模拟器在iOS7+运行时出现黑边的问题,并提供了具体的解决方法。通过修改项目配置中的App Icons and Launch Images设置,即可解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Xcode6环境下,对于iPhone5或iPhone5s模拟器,在iOS7+运行,屏幕有黑边,但在iOS8没有问题。

原因分析如下:

Xcode6在Xcode5的基础上做了调整,并不是向下兼容的。Xcode5在启动页通过images.asset进行管理,但是到了Xcode6,苹果引入了一种新的启动页机制:LaunchScreen.xib,而这种机制不向下兼容的。Xcode6已经自动为iPhone6以上的模拟器强制使用iOS8+系统,对于iPhone6以上模拟器,不存在这个问题,对月iPhone4s模拟器,在iOS7.1下也仅仅是没有加载LaunchScreen.xib,这种苹果最古老的屏幕尺寸不存在这种情况。但对于iPhone5/5s+iOS7/7.1,由于iOS7无法兼容LaunchScreen.xib这种机制,又找不到default-568h.png文件,问题就出现了。

问题解决:

项目配置也,General有一栏App Icons and Launch Images,其中有一项Launch Images Source,如果你遇到了问题,那么旁边显示的可能是一个按钮,Use Asset Catalog,点一下然后确定就可以了,会在项目中的Images.xcassets中生成LaunchImage,就像Xcode5中那样。此时再运行程序,已经不会再有上下的黑边问题了。但为了更好的用户体验,做张图片放进去吧。当然,在iOS8中依然会加载LaunchScreen.xib,看来至少二者是可以共存的。

问题延伸:

如果你想删掉这套启动图,仅仅是删除Images.xcassets中的LaunchImage是不行的,还要在项目配置,Build Settings中找到Asset Catalog Launch Image Set Name(搜索asset可以帮你快速定位到这项),把后面的值删掉。否则编译都通不过,会报错Images.xcassets: None of the input catalogs contained a matching launch image set named "LaunchImage"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值