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

问题描述:

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

问题分析:

这种熟悉的场景又出现了,上一次遇到这种情景已经可以追溯到两年前,iPhone5刚刚问世的那段时间,在3.5inch屏幕上的程序如果不添加568h的default.png,在4inch屏上运行就会出现这种上下留"白"的状况。

而如今已经到了iPhone6和iPhone6Plus的时代,这种情景竟然又出现了。

其实可以发现,不只是上下留白的问题,在这种状态下Launch Screen其实根本没有加载。

原因可想而知了。

Xcode6在Xcode5的基础上,做出的一些调整,其实并不是向下兼容的。Xcode5在启动页通过images asset进行管理,而到了Xcode6,苹果引入了一种新的启动页机制:LaunchScreen.xib,而这种机制恰恰是不向下兼容的。Xcode6已经自动为iPhone6以上的模拟器强制使用iOS8+系统,iPhone 6 (7.1)这种模拟器是不存在的(至少我没有找到),因此对于iPhone 6以上的模拟器,不存在这个问题,对于iPhone 4s模拟器,在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"。

2:coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题
     如果不排除上面那个问题,再弄cocos2d-x的游戏分辨率适配问题,就是蛋疼... !!!   在解决这个问题的时候,被上面那个问题坑了很久...!!!,一直以为是cocos2d-x的游戏代码写的有问题...

xcode 开发ios兼容性问题的上下黑边 和 coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题!!!的更多相关文章

  1. iOS 5个Xcode开发调试技巧

    转自Joywii的博客,原文:Four Tips for Debugging in XCode Like a Bro    1.Enable NSZombie Objects(开启僵尸对象) Enab ...

  2. iOS开发--iOS及Mac开源项目和学习资料

    文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecl ...

  3. delphi_xe开发ios环境的安装与设置

     http://wenku.baidu.com/link?url=NE3xJOZiLppdxCbXJX3W0vyLHv6uA_U8uamjx9NJIIcxnfuC2P9eWx3d6Xwco-ugS8G ...

  4. Xamarin体验:使用C#开发iOS/Android应用

    Xamarin是Mono创始人Miguel de Icaza创建的公司,旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发.   简介 Xamarin是基于Mo ...

  5. 行为驱动开发iOS <收藏>

    前段时间在design+code购买了一个学习iOS设计和编码在线课程,使用Sketch设计App,然后使用Swift语言实现Designer News客户端.作者Meng To已经开源到Github ...

  6. Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件)

    Cordova - 使用Cordova开发iOS应用实战3(添加Cordova控制台插件) 前文介绍了通过 Safari 的 Web检查器,可以看到控制台输出的信息.但有时这样调试代码不太方便,如果在 ...

  7. Xcode开发中的6个小技巧

    Xcode是iPhone和iPad开发者用来编码或者开发iOS app的IDE.Xcode有很多小巧但很有用的功能,很多时候我们可能没有注意到它们,也或者我们没有在合适的水平使用这些功能简化我们的iO ...

  8. Swift开发iOS应用过程中的问题和解决记录

    虚拟机里安装OSX+XCode开发环境 用真机的请直接跳过这个部分. 主要是在VitrualBox里安装mac系统和xcode,参考这篇教程,VirtualBox的版本是4.3.18 r96156,O ...

  9. Cordova or Xamarin 用.net开发IOS和Android程序

    Visual Studio 2015 和 Apache Cordova 在开始前,问一下自己下面这些问题: 熟练掌握web技术的开发者比例是多少?(占所有开发者的比例) 熟练掌握移动开发技术(并且使用 ...

随机推荐

  1. java小经验

    从事互联网金融,常常会碰到文件处理,以前都是傻傻的解析,这次我不想这么傻了,做个小小的封装,咱也以oop的思想来完成. 文件解析处理一般分两种模式:分隔符与定长,目前工作五年也就这两种. 封装思想: ...

  2. MySQL的相关设置

    1.启动MySQL服务:#  service mysqld start 2.为MySQL设置root用户密码:# mysql -u root mysql>set password for roo ...

  3. javascript 文本框中,判断回车键触发事件 兼容IE&FireFox

    1.onkeypress&onkeydown区别 onkeypress 事件在用户按下并放开任何字母数字键时发生.但是系统按钮(例如:箭头键.功能键)无法得到识别. onkeydown 事件在 ...

  4. StreamReader和StreamWrite与FileStream区别

    具体用法不在赘述. 记录一下用法的区别 StreamReader: FileStream fs = new FileStream(@"D:\Readme.txt",FileMode ...

  5. 一句话解释jquery中offset、pageX, pageY、position、scrollTop, scrollLeft的区别

    offset   元素相对文档的偏移 pageX, pageY 事件(鼠标)相对文档的偏移 注意:文档是指document, 而不是当前窗口,是包含了滚动位置的,即滚动条的位置对这些值是不产生影响的 ...

  6. linux下挂载移动硬盘ntfs格式

    http://jingyan.baidu.com/article/f96699bba93dce894e3c1bec.html fdisk -l安装后 使用命令mount -t ntfs-3g /dev ...

  7. Delphi-仿vb里的IIF函数

    //Delphi 函数-IIF // 实例-ChkValue := IIF(TCheckBox(tsPzJz.Controls[i]).Checked, '); function IIF(lExp: ...

  8. Postgresql 技巧

    备份 pg_dump -f "F:/dump.sql"<file name> -U postgres<database name> -h 10.38.197 ...

  9. Java 多线程 简单实例 (Runnable)

    1.多线程实例 package second; public class A implements Runnable { public char stat = '*'; public void run ...

  10. 【IOS】分享下近一年IOS开发的经验总结

    从上个暑假末到现在,自己做IOS开发也快一年了.从一开始的什么都不知道,到现在大多事都能搭上一两手,期间经历了很多事情.下面来和大家分享一下心得和感触. 1.现在移动领域的知识更新的很快,无论是IOS ...