分辨率和像素通过新的xcode6模拟器验证(分辨率为pt,像素为真实像素):iPhone5分辨率320x568,像素640x1136,@2xiPhone6分辨率375x667,像素750x1334,@2xiPhone6Plus分辨率414x736,像素1242x2208,@3x,(注意在这个分辨率下渲染后,图片会按比例将像素分辨率降低到1080p(1080x1920))未处理,自动按比例拉伸。如果打印旧项目中的屏幕框,它仍然是320x568。对比自动适配和最佳适配的导航栏,可以看出问题:因为拉伸,会有些虚,导航栏明显比64大,但比3.5寸到4好很多英寸黑色边框。如何关闭自动适配方案?这还是个老主意,改启动图:除了改启动图,不得不说在新的Xcode中可以用一个xib来设置启动图:但是这个xib不能关联任何代码(不能自定义View的Class,不能IBOutlet,不能添加Object),可以理解为这个xib是截屏,这种方案的好处是可以使用SizeClasses来针对不同的屏幕布局这个xib(如果有兴趣的请看《Size Classes初探》)手动适配,只需要手动指定安装启动图片或者那个xib后,屏幕分辨率就变成了应该的大小了。旧代码中所有关于硬编码帧值的代码都是不幸的。如果去手动适配,就必须全部适配。建议找一个可行的。之前不要修改方案,自动适配方案不影响使用。面对4个分辨率的iPhone,推荐使用AutoLayout+ImageAssets管理各个分辨率的图片+InterfaceBuilder(xib+storyboard)构建UI。SizeClasses在低版本iOS系统中的表现未知。如果你想要这种手动适配的方案,至少你的项目需要部署在iOS6+上,如果不使用AutoLayout布局,你会死得很惨。关于Xcode6模拟器路径已经换成~/Library/Developer/CoreSimulator/Devices/xcode6里面没有iOS6模拟器,是时候劝大家放弃iOS7了-从现在开始,提交到AppStore是强制性的支持64位,是时候整理一下所有依赖的第三方库,更新到64位了
