关于iphone6/5/4s 在iOS8.0系统下 只读@3x图片

做iphone6和plus适配时候发现一个问题,先来看图(一下讨论全部在真机下完成,非模拟器)

128*750图片是  [email protected]

1242*192图片是 [email protected]

之所以用圆方是为了变形能及时发现。 2x和3x图片区分是为了,看看6以下都是用的2x图片  而   plus用的是3x图片。

把这两张图片添加到images.xcassets中(直接拖进去):

好了。

按照我所掌握的资料,ip6以下是用的 @2x图片,ip6plus用的@3x,deployment target 选择为6.0(这个目前相信大家都是选择这个,他支持collection view和layout等功能)。

运行在iphone6和plus上面,如下图:

图有点大,大家看一下导航栏(我用的是imageview),图片好像刚有点不对(用的是@3x的图片),ip6 plus运行是对的。

此时ip6的系统是8.0.2,deployment target 选择为6.0:

为什么呢?google了一下,找到了这么说法:

红色部分就说了这个问题,绿色似乎给出答案,我按照他的方法试了一下:

把deployment target 选择为7.0(之前是6.0),再次运行:

可以了,使用的图片是@2x了。(如果你在把deployment target 选择为6.0,程序从机器上删掉,在clean,结果还是错误的。)

换个机器(iphone6(当然你可以用其他的iphone4s、5等) 系统是iOS 8.1的),从新把deployment target 选择为6.0,运行没有问题。

所以得出个结论iOS8.0.1 这个地方有个小bug,大家升级一下系统,或者把deployment target 选择为7.0即可。

关于iOS8的适配,还可以参照我的另一篇文章:APP适配IOS8,iPhone6和Plus截图简要说明,有iP6截图下载供研究(原创)

时间: 2024-09-30 10:14:26

关于iphone6/5/4s 在iOS8.0系统下 只读@3x图片的相关文章

ionic3 在ios9.0 系统下 会出现ReferenceError:Can't find variable:Intl 错误提示

ionic3 框架开发app  在ios 9.0版本中 ReferenceError:Can't find variable:Intl 错误提示: 在index.html 文件中添加 <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script> 一定要添加在 <script src="cordova.js">&

Centos7.0系统下Rsync+sersync实现数据实时增量同步备份

前言: 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录. 二.Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别? 1.Rsync+Inotify-tools (1):Inotify-tools只能记录

Android非5.0系统下singleTask singleInstance startActivityForResult

测试案例有两个MainActivity和TestActivity 如果MainActivity的launchMode为singleTask,而TestActivity的lauchMode为非singleTask和非singleInstance,这时startActivityForResult是正常的, 但如果TestActivity的lauchMode为singleTask或者singleInstance,则startActivityForResult是不正常的,在开启TestActivity的

解决iOS8.0以上系统下无法通过代码创建被删除过的同名相册 ( iOS 8 Photos framework: Create a albums with iOS8 )

问题描述: 在苹果的 iOS8.0以上, 当你创建完一个相册, 例如名为"Rd", 然后在相册中手动删除了这个"Rd"相册, 再次通过代码 #import <AssetsLibrary/ALAssetsLibrary.h> ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init]; [assetsLibrary addAssetsGroupAlbumWithName:@"Rd

iPad iOS8.0升级和Xcode 6.0.1公布了,附Xcode 6.0.1下载地址

今天上午把iPad mini升级到了iOS 8.0,升级提示须要6.7G空间,无奈仅仅好把一些大的App删掉腾冲空间,然后開始升级,3小时后最终升级成功了. 下午试着把我们的App通过xcode 5 安装到升级到iOS8.0的iPad,结果不能识别设备了,于是到开发人员中心下载最新的xcode6.0.1, 针对OS X 10.9.4系统的.注意: Xcode 6.1 beta 2 for OS X Yosemite 是针对最新的Yosemite系统的,依据我们同事的測试,Yosemite系统如今

适配ios8.0/7.0定位

现象 假如你用做ios8之前的定位去在ios8.0的机子上跑的话,你会发现 诶?怎么定位功能不能用了,右上角那个定位的小图标不出来.这时你应该去了设置里面看看隐私--定位,看到没有开启,然后改成始终,然后程序重新跑过,然后你又发现还是不能用...于是你又去设置那里看看,靠 发现改成的始终怎么给取消了..(其实这就是我..) 原因 在以前的IOS版本中当开始使用定位服务时会自动弹出询问授权的对话框,而现在IOS8需要手动调用locationManager requestAlwaysAuthori

iPad iOS8.0升级和Xcode 6.0.1发布了,附Xcode 6.0.1下载地址

今天上午把iPad mini升级到了iOS 8.0,升级提示需要6.7G空间,无奈只好把一些大的App删掉腾冲空间,然后开始升级,3小时后终于升级成功了. 下午试着把我们的App通过xcode 5 安装到升级到iOS8.0的iPad,结果不能识别设备了,于是到开发者中心下载最新的xcode6.0.1, 针对OS X 10.9.4系统的.注意: Xcode 6.1 beta 2 for OS X Yosemite 是针对最新的Yosemite系统的,根据我们同事的测试,Yosemite系统现在本身

IOS开发之IOS8.0最新UIAlertController

最近苹果更新的IOS8 对以前进行了很大的修改, 更新的API也让人捉急,据说iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.比如全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果(比如说旋转)中发挥了重要的作用,它有效地节省了程序员们的工作量.但是同时某些旧的UIKit控件也同样发生了许多变化,很多自定义在旧控件上的控件发生了诡异的BUG,其实UIAlertView.UIActionS

iOS8.0之后没有注册通知的提醒解决办法

在iOS8.0之后如果没注册本地通知就会报出的提醒,如下图: 解决的办法是:在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 这个方法中注册通知: if ([[UIDevice currentDevice].systemVersion doubleValue]>=8.0) { UIUserNotificationSetting