iphone6 和 iphone6 plus 屏幕适配问题
苹果IOS8系统会根据APP的启动图来判断开发者是否对iPhone6和6plus大屏幕进行适配,有两种方法设置启动图:第一:用Xcode生成的LaunchScreen.xib进行启动图设置;第二:将launchImage所需要的各种屏幕启动图进行设置。
iPhone 6+除外,其他所有iPhone的PPI是一致的,都是326,用@2x的素材。
但是6+的实际DPI是401,理论上苹果应该用401/326 * @2x=@2.46x的素材。但是这个奇葩的比例对开发者而言很难切图。所以苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上,实际上是缩放到2.46/3=83%。实际上苹果选取了一个接近比例的87%。
这样算下来,物理分辨率和虚拟分比率的比例是87%,也就是1920/0.87=2208,1080/0.87=1242.
好处就是开发者更方便,比如准备素材时,字号可以直接调成3x的。
Iphone 6 PLUS 按照实际的PPI以及物理点尺寸只能显示这么多像素(1920*1080),更准确的应该是 宽度401/163*414=1018.49 高度 401/163*736 = 1810.65
//屏幕宽度
#define ScreenWidth [UIScreen mainScreen].bounds.size.width
//屏幕高度
#define ScreenHeight [UIScreen mainScreen].bounds.size.height
//视图在不同屏幕下宽度放大比率 (以320为基准)
#define WidthRate ((int)ScreenWidth == 320 ? 1.0:(((int)ScreenWidth == 375) ? (750.0/640):(1242.0/640*2.0/3)))
//视图在不同屏幕下高度放大比率 (以568为基准)
#define HeightRate (((int)ScreenHeight == 480 || (int)ScreenHeight == 568) ? 1.0:(((int)ScreenHeight == 667) ? (1334.0/1136):(2208.0/1136*2.0/3)))
//修复视图位置 大小
- (void)fixView:(UIView *)view
{
if (view.subviews.count != 0) {
for (UIView *v in view.subviews) {
[self fixView:v];
}
}else{
view.frame = CGRectMake(view.frame.origin.x*WidthRate, view.frame.origin.y*HeightRate, view.frame.size.width*WidthRate, view.frame.size.height*HeightRate);
NSLog(@"修复后 %f %f %f %f", view.frame.origin.x,view.frame.origin.y, view.bounds.size.width,view.bounds.size.height);
}
}
- (float)fixTextSize:(float)size
{
NSLog(@"%f", WidthRate*size);
return WidthRate*size;
}
iphone6 和 iphone6 plus 屏幕适配问题相关推荐
- iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
iPhone6和iPhone6 Plus上市有一段时间了.尽管大陆没有首发令人隐隐作痛,可是还是为iPhone6和iPhone6 Plus的设计的转变和大屏时代感到欣喜. 今天主要来mark下面通过x ...
- iphone4/iphone5/iphone6/iphone6Plus响应式布局适配代码
在网页中,pixel与point比值称为device-pixel-ratio,普通设备都是1,iPhone 4是2,有些Android机型是1.5.] 那么-webkit-min-device-pix ...
- iPhone6,iPhone6 Plus 屏幕分辨率、尺寸的问题
关于iPhone6 和iPhone6 Plus 的屏幕分辨率的问题 [ 除6+外,其他所有iPhone4以后的iPhone的ppi都是326,用@2x的素材. 但是6+的实际ppi是401,理论上苹果 ...
- 适配iPhone6和iPhone6 Plus
适配iPhone6和iPhone6 Plus 苹果昨天发布了两款iPhone新产品,分别是iPhone6和iPhone6 Plus,开发者和设计人员又要忙活一阵子了. 先对比所有市面上的iPhone设 ...
- web app iphone4 iphone5 iphone6 iphone6 Plus响应式布局 适配代码
来源:http://www.phptext.net/article_view.php?id=387 -------------------------------------------------- ...
- 关于IOS的屏幕适配(iPhone)——资源适配
IOS的屏幕适配几乎不需要大量的代码操作,更多的时间我们只是动动鼠标选择一下就搞定.可以苹果在这方面做的还是比较人性的,解放了开发者. 首先来说说Iphone这几种屏(由于最近做的是iPhone AP ...
- Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- Android屏幕适配全攻略(最权威的官方适配指导) (转)
招聘信息: Cocos2d-X 前端主程 [新浪微博]手机客户端iOS研发工程师 20k-40k iOS 开发工程师 iOS高级开发工程师(中国排名第一的企业级移动互联网云计算公司 和创科技 红圈营销 ...
- iOS屏幕适配方案-Auto Layout
市场上的android手机五花八门.各种尺寸的屏幕让android程序员们比較头疼. 也有一些大神写了一些博客提出了自己的观点.iOS貌似也迎来了大屏6+,因此屏幕适配的问题也是有滴,因此苹果也有自己 ...
最新文章
- 如何利用Gephi可视化浏览的网站关系
- matlab作图标记
- CIO们对数据中心虚拟化心存的六大疑虑
- 有源代码的iphone项目
- 论文浅尝 | 改善多语言KGQA的 Zero-shot 跨语言转换
- 百度SEO最新强引蜘蛛软件工具
- java Function Interface BinaryOperator<T>
- alwayson高可用组_AlwaysOn可用性组–如何在集群实例和独立实例之间设置AG(第3部分)
- UNIX 环境高级编程(五)—— unistd.h
- 浅析GestureDetector
- 181008有道扇贝每日一句
- SQL 数据定义语句(DDL)
- Java位运算符:Java移位运算符、复合位赋值运算符及位逻辑运算符
- 窗口大小不规范,教你怎么写默认窗口
- html怎么把图片左移_html元素向左移代码 html
- 毕业论文的页眉、页脚以及参考文献插入经验分享
- 可禁用计算机服务,哪些Microsoft服务项目可以禁用以提高 电脑速度
- 转:城市码Country Code
- 搜索和推荐中的精度和召回(recall)分别是什么意思?
- Python自动化办公:ppt文件操作教程