`
啸笑天
  • 浏览: 3462051 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

iphone开发之分辨率问题

 
阅读更多

1. [UIScreen mainScreen].applicationFrame 是{(0,20),(320,460)}

UIScreen mainScreen].bounds 是{(0,0),(320,480)}

CGSize size = [UIScreen mainScreen].currentMode.size;//以像素为单位的尺寸

give measurements in "points", not "pixels". For everything else, pixels=points, but for the iPhone4, each point has 4 pixels. Normal images are scaled in the iPhone4, so each pixel in the image is mapped onto a point. This means that the iPhone4 can run iPhone apps without a noticeable change.

iPhone是以“点”来计量尺寸,而不是像素。一般情况,一个点 = 一个像素,但是iPhone4一个点等于4个像素,所以用[[UIScreen mainScreen] applicationFrame].size.width取出来的长度和宽度还是320*480.这也意味着iPhone4跑以前的程序基本不用做修改。

The "apple" way to add "hi-res" images that take advantage of the iPhone's greater resolution is to replace ".png" with "@2x.png" in the image file name, and double the pixel density (effectively, just the width&height) in the image. Importantly, don't change the way the image is referred to in your code.
So if you have "img.png" in your code, iPhone4 will load the "img@2x.png" image if it is available.

但是之前有涉及到图片的,一个像素被拉伸到了4个像素,图片质量会变低。解决方法是替换图片的后缀为 "@2x.png",代码中的引用不用做任何改变,系统会根据硬件自动去读入相关文件。

The problem with this is that, if you are trying to develop a Universal app, and include separate images for all the different possible screen resolutions/pixel densities, your app will get bloated pretty quick.

这样解决问题的缺点是,当你有很多图片的时候,你的程序包会有增加得很大块。

A common solution to this problem is to pull all the required images on the net. This will make your binary nice and small. On the negative side, this will eat into your user's internet quota, and it will really annoy users who don't have wifi--especially if your app has no other reason to use the 'net (and you don't say your app needs the 'net in your app store description).

对于此问题一般的解决方法是将图片放到网上,运行程序时获取。当时这样也会涉及到用户上网和流量的问题。

http://blog.sina.com.cn/s/blog_4cdc44df0100phfr.html

2.在ios工程中的代码中,只需要使用不带@2x的图片名。

使用iphone retina模拟器时,如果工程中把640x960像素(简称640)的图片写成了不带@2x,则模拟器会认为这是一张320x480像素(简称320)的图片,采用1对1(1个像素对应1个点)的策略,,只显示其左上320x480像素即1/4的部分.

使用iphone模拟器时,如果使用了640的@2x图片,同样会正常显示,因为模拟器会把图片中的4个像素对应为一个点; 如果把320的图片写成了@2x,页面中的背景图片会完全显示到屏幕左上部分,因为此时按4对1,图片只够显示在屏幕左上。不过启动图片仍然全屏,但会变的模糊,。

只有iphone4会区分识别@2x, iphone3不会识别@2x,但640x960的Default.png能正常缩放显示。其它的640x960的图片只能显示1/4。

iPhone4支持的屏也叫视网膜(retina)屏,就是肉眼看不到像素点。

可能内存不足的时候,如果已有很多retina的程序跑于后台, 会加载normal的,以节约内存。

在升级到ios4的iPhone3上,优先使用不带@2x的图片。

3.关于UIImage.size属性

In iOS 3.x and earlier, this value always reflects the dimensions of the image measured in pixels.

In iOS 4.0 and later, this value reflects the logical size of the image and is measured in points.

4.关于iPhone默认启动图片Default.png

可以提供为屏幕尺寸,也可以提供为屏幕尺寸减去状态栏尺寸.

对于iphone, Default.png可以为320x480或者320x460, Default@2x.png iPhone4启动图片640x960或者640x920.

http://news.wangmeng.cn/detailNews/2984-iphone-start-page-default-png

标准: .
高分辨率: @2x.
device_modifier:可选, ~ipad or ~iphone.

UIImage的imageNamed:, imageWithContentsOfFile:, and initWithContentsOfFile: 这3个方法有自动选择高清图片的效果

plist中的CFBundleIconFiles 属性

icon尺寸
iphone
57 x 57 pixels
114 x 114 pixels (@2x)
搜索结果中的额图标
29 x 29 pixels
58 x 58 pixels (@2x)

iPad
72 x 72 pixels
搜索结果中的额图标
50 x 50 pixels

启动画面
iphone
320 x 480 pixels
640 x 960 pixels (high resolution)

ipad
768 x 1004 pixels

可能Icon.png,Icon@2x.png也要大写i。

纵向状态下:

状态栏20高,导航栏44高,选项卡或工具栏48高,键盘216高,UISwitch94x28,分段控件44高,输入框30高。

类方法用来隐藏间例。

关于app同时支持iphone/ipad的问题

http://www.cocoachina.com/bbs/read.php?tid-44651.html

http://www.cocoachina.com/bbs/read.php?tid-41245-keyword-xib%7C%CE%C4%BC%FE.html

http://www.cocoachina.com/bbs/read.php?tid-31022.html

iPhone与iPad开发的区别

http://blog.csdn.net/favormm/article/details/6551849

Sizes of iPhone UI Elements

http://www.idev101.com/code/User_Interface/sizes.html

 

thx:http://www.buerguo.com/archives/991

分享到:
评论

相关推荐

    手机app开发适应所有手机分辨率的软件图标(包含mac os和iphone)

    在开发手机应用时,设计一个适应所有手机分辨率的软件图标是一项关键任务。这不仅可以确保应用在不同设备上呈现一致的专业外观,还能提升用户体验。...所以,充分利用这些资源,可以让您的app开发之路更加顺畅。

    iPhone开发常用icons(镂空图)

    本资源“iPhone开发常用icons(镂空图)”提供了一系列适用于iPhone应用的镂空图标,这些图标通常用于表示不同的功能或状态。镂空图标的独特之处在于其背景透明,可以更好地融入各种背景色,提升界面的美观性和一致性...

    Iphone开发资料整理

    【标题】:“Iphone开发资料整理” 这组资料主要涵盖了iPhone应用开发的基础知识,包括Cocoa框架的基本原理、Dashcode的使用指南以及Objective-C的入门教程。这些文档旨在帮助开发者理解并掌握iPhone应用开发的核心...

    iPhone开发快速入门简介

    【iPhone开发快速入门简介】 开发iPhone应用对于新手来说可能是一个挑战,但有了合适的入门资料,这个过程会变得容易很多。本文将围绕iPhone开发的基础知识展开,包括硬件特性、软件架构、开发环境、Objective-C...

    智能手机屏幕尺寸和分辨率一览表.pdf

    Android开发中,主流品牌机的分辨率包括240x320、320x480、480x800、480x854、540x960、640x960和720x1024等,这些是过去几年Android设备常见的分辨率,开发者需要确保应用能在这些分辨率上正常运行。 对于平板电脑...

    iphone3开发

    【iPhone 3 开发详解】 在移动应用开发领域,iPhone 3 开发是早期iOS设备开发的一个重要阶段。iPhone 3,尤其是iPhone 3G和iPhone 3GS,是苹果公司推出的第二代和第三代智能手机,它们为开发者提供了一个全新的平台...

    关东升主讲-精通IOS开发[IPHONE与IPAD应用开发课程视频]【分辨率1024×768】

    《关东升主讲-精通IOS开发[IPHONE与IPAD应用开发课程视频]》是一部专为想要深入学习iOS开发的学员设计的高质量教程。该课程由知名讲师关东升亲自授课,旨在帮助学员掌握iOS应用程序开发的核心技能,无论是针对iPhone...

    iphone开发实践

    在“iPhone开发实践”这一主题中,我们主要探讨的是如何针对iPhone平台进行应用开发,特别是基于Web的应用程序。iPhone开发基础教程通常涵盖了一系列的技术和工具,包括HTML、CSS、JavaScript,有时还会涉及PHP等...

    win搭建iphone开发环境

    ### Win搭建iPhone开发环境知识点详解 #### 一、概述 在Windows环境下搭建iPhone开发环境是一项技术挑战,因为官方推荐的开发环境是在Mac OS X上进行的。然而,通过使用虚拟化技术,例如VMware Workstation,可以在...

    iPhone4开发入门

    【标题】"iPhone4开发入门"是一本专为初学者设计的苹果开发教程,主要针对的是iOS平台上使用iPhone 4设备的应用程序开发。虽然该教程的部分内容可能已随时间而过时,考虑到iPhone 4在iOS设备历史上的重要地位,其...

    iPhone应用程序开发指南

    iPhone是由苹果公司设计并销售的一系列智能手机,自2007年首次推出以来,已经成为全球最受欢迎的智能手机之一。苹果公司的创始人史蒂夫·乔布斯曾表示:“iPhone是一款革命性的、不可思议的产品,比市场上的其他任何...

    小程序适合iphone 调试网页的

    在移动设备上,尤其是iPhone,开发和调试Web应用或网页变得越来越重要。小程序是一种轻量级的应用形式,它不需要通过App Store下载安装,用户可以通过扫描二维码或者搜索直接打开。对于iOS平台,虽然Safari提供了...

    基础iphone开发资料

    ### 基础iPhone开发资料知识点汇总 #### SDK(Software Developer Kit)介绍 SDK 是苹果提供的用于开发 iPhone 应用程序的一系列工具集合。通过这些工具,开发者可以编写、调试和发布自己的应用到 App Store 或者...

    史上最全的Unity3D iPhone(IOS)开发问题汇总与解决办法2

    此外,针对iOS开发,开发者还应注意内存管理、性能优化和适配不同设备分辨率等问题。Unity3D提供了iPhoneSettings类,可以用于调整针对iOS设备的特定设置。同时,考虑到iOS设备的多样性,应确保游戏能在不同的屏幕...

    Android分辨率屏含义及大小

    QVGA分辨率的全称是“Quarter VGA”,意指VGA标准分辨率(640x480)的四分之一,即240x320像素。这种分辨率常用于小型手机屏幕,例如三星盖世Mini S5570。QVGA并非指特定的屏幕材料,而是描述屏幕的分辨率属性。目前...

    iPhone开发ui设计规格说明文档

    ### iPhone开发UI设计规格说明文档知识点 #### 一、引言 随着移动互联网技术的快速发展,用户界面(UI)的设计成为提升用户体验的关键因素之一。针对iOS平台,特别是iPhone的应用程序,一套规范化的UI设计标准至关...

    面向iPhone开发者开发windows Phone 指南

    ### 面向iPhone开发者开发Windows Phone指南:深入解析与迁移策略 #### 一、Windows Phone 7平台介绍 在2011年的技术革新浪潮中,微软推出了面向iPhone开发者转型至Windows Phone 7(以下简称WP7)的全面指南。这...

    iPhone客户机应用开发教程

    【iPhone客户机应用开发教程】主要关注如何利用Ruby on Rails和Eclipse开发适应iPhone设备的应用程序。本教程分为多个部分,其中第二部分着重讲解如何在客户端展示内容,特别是使用iUI库来创建与iPhone人机界面指南...

Global site tag (gtag.js) - Google Analytics