真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開(kāi)發(fā)屏幕適配問(wèn)題,ios開(kāi)發(fā)屏幕適配問(wèn)題解決

iOS-屏幕適配(一)

(參考 The Ultimate Guide To iPhone Resolutions )

海拉爾網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站

屏幕模式( 1x , 2x , 3x ):

描述的就是屏幕中一個(gè)點(diǎn)有多少個(gè) Rendered Pixels 渲染,對(duì)于 2 倍屏(又稱(chēng) Retina 顯示屏),會(huì)有 2 * 2 = 4 個(gè)像素的面積渲染,對(duì)于3倍屏(又稱(chēng) Retina HD 顯示屏),會(huì)有 3 * 3 = 9 個(gè)像素的面積渲染

iOS 開(kāi)發(fā)中,所有控件的坐標(biāo)以及控件大小都是以點(diǎn)為單位的。假如我在屏幕上需要展示一張 20 * 20 (單位: point )大小的圖片,那么設(shè)計(jì)師應(yīng)該怎么給我圖呢?

這里就會(huì)用到屏幕模式的概念,如果屏幕是 2x ,那么就需要提供 40 * 40 (單位: pixel )大小的圖片,如果屏幕是 3x ,那么就提供 60 * 60 大小的圖片,且圖片的命名需要遵守以下規(guī)范:

ImageName:

圖片名字,根據(jù)場(chǎng)景命名 device_modifier: 可選,可以是 ~ipad 或者 ~iphone , 當(dāng)需要為 iPad 和 iPhone 分別指定一套圖時(shí)需要加上此字段 filename_extension: 圖片后綴名, iOS 中使用 png 圖片

現(xiàn)在iPhone的屏幕尺寸也不再單一,那么現(xiàn)在以怎樣的流程來(lái)進(jìn)行iOS的研發(fā)更合適呢?

這個(gè)問(wèn)題很早之前在知乎上已經(jīng)被討論,附上鏈接: 手機(jī)淘寶設(shè)計(jì)師pigtwo的回答

控件彈性指的是, navigation 、 cell 、 bar 等適配過(guò)程中垂直方向上高度不變;水平方向?qū)挾茸兓瘯r(shí),通過(guò)調(diào)整元素間距或元素右對(duì)齊的方式實(shí)現(xiàn)自適應(yīng)。這樣屏幕越大,在垂直方向上可以顯示更多內(nèi)容,發(fā)揮大屏幕的優(yōu)勢(shì)

原文地址

iOS 四種iPhone屏幕適配方案(借鑒)

Come on! 來(lái)看看 主流的適配方案吧

隨著蘋(píng)果發(fā)布兩種新尺寸的大屏iPhone 6,iOS平臺(tái)尺寸適配問(wèn)題終于還是來(lái)了,移動(dòng)設(shè)計(jì)全面進(jìn)入“雜屏”時(shí)代??纯聪旅嫒頸Phone尺寸和分辨率數(shù)據(jù)就知道屏幕有多雜了。

當(dāng)然除了這三種還有iPhone4 屏幕是 640*960,加起來(lái)就有四種屏幕了,你有沒(méi)有感覺(jué)很復(fù)雜,發(fā)過(guò)愁嗎,我們來(lái)慢慢分析下

加上Android生態(tài)中紛繁復(fù)雜的各種奇葩尺寸,現(xiàn)在APP設(shè)計(jì)開(kāi)發(fā)必須考慮適配大、中、小三種屏幕。所以如何做到交付一套設(shè)計(jì)稿解決適配大中小三屏的問(wèn)題?設(shè)計(jì)和開(kāi)發(fā)之間采用什么協(xié)作模式?一個(gè)基本思路是:

1、選擇一種尺寸作為設(shè)計(jì)和開(kāi)發(fā)基準(zhǔn);

2、定義一套適配規(guī)則,自動(dòng)適配剩下兩種尺寸;

3、特殊適配效果給出設(shè)計(jì)效果。

來(lái)看一下手機(jī)淘寶的iPhone 6/iPhone 6 Plus采用的協(xié)作模式,再慢慢說(shuō)明原委。

第一步,視覺(jué)設(shè)計(jì)階段,設(shè)計(jì)師按寬度750px(iPhone 6)做設(shè)計(jì)稿,除圖片外所有設(shè)計(jì)元素用矢量路徑來(lái)做。設(shè)計(jì)定稿后在750px的設(shè)計(jì)稿上做標(biāo)注,輸出標(biāo)注圖。同時(shí)等比放大1.5倍生成寬度1125px的設(shè)計(jì)稿,在1125px的稿子里切圖。

第二步,輸出兩個(gè)交付物給開(kāi)發(fā)工程師:一個(gè)是程序用到的@3x切圖資源,另一個(gè)是寬度750px的設(shè)計(jì)標(biāo)注圖。

第三步,開(kāi)發(fā)工程師拿到750px標(biāo)注圖和@3x切圖資源,完成iPhone 6(375pt)的界面開(kāi)發(fā)。此階段不能用固定寬度的方式開(kāi)發(fā)界面,得用自動(dòng)布局(auto layout),方便后續(xù)適配到其它尺寸。

第四步,適配調(diào)試階段,基于iPhone 6的界面效果,分別向上向下調(diào)試iPhone 6 plus(414pt)和iPhone 5S及以下(320pt)的界面效果。由此完成大中小三屏適配。

為什么選擇iPhone 6作為基準(zhǔn)尺寸?

當(dāng)面對(duì)大中小三種屏幕需要適配的時(shí)候,很容易想到先做好一種屏幕,再去適配剩下兩種屏幕。第一個(gè)決定是到底以哪種屏幕作為設(shè)計(jì)和開(kāi)發(fā)的基準(zhǔn)尺寸。我們選擇中間尺寸的iPhone 6(750px/375pt)作為基準(zhǔn),基于幾個(gè)原因:

1、從中間尺寸向上和向下適配的時(shí)候界面調(diào)整的幅度最小。375pt下的設(shè)計(jì)效果適配到414pt和320pt偏差不會(huì)太大。假設(shè)以414pt為基準(zhǔn)做出很優(yōu)雅的設(shè)計(jì),到320pt可能元素之間比例就不是那么回事了,比如圖片和文字之間視覺(jué)比例可能失調(diào)。

2、iPhone 6 plus有兩種顯示模式,標(biāo)準(zhǔn)模式分辨率為1242x2208,放大模式分辨率為1125x2001(即iPhone 6的1.5倍)??梢?jiàn)官方系統(tǒng)里iPhone 6和iPhone 6 plus分辨率之間就存在1.5倍的倍率關(guān)系。很多情況下這兩種尺寸可以用1.5倍直接等比適配。

3、1242x2208這個(gè)奇葩的數(shù)值是蘋(píng)果官方都不愿意公開(kāi)宣傳的一個(gè)分辨率,不便于記憶和計(jì)算柵格。640x1136雖然是廣泛應(yīng)用的一個(gè)分辨率,但是大屏?xí)r代依然以小尺寸為設(shè)計(jì)基準(zhǔn)顯然不合時(shí)宜,設(shè)計(jì)師會(huì)停留在小屏的視角做設(shè)計(jì)。

所以,iPhone6的750x1334是最適合基準(zhǔn)尺寸。

只交付一套設(shè)計(jì)稿,默認(rèn)用什么規(guī)則來(lái)適配?

前文提到適配策略是先選擇iPhone 6作為基準(zhǔn)設(shè)計(jì)尺寸,然后通過(guò)一套適配規(guī)則自動(dòng)適配到另外兩種尺寸。這套適配規(guī)則總結(jié)起來(lái)就一句話(huà):文字流式,控件彈性,圖片等比縮放

控件彈性指的是,navigation、cell、bar等適配過(guò)程中垂直方向上高度不變;水平方向?qū)挾茸兓瘯r(shí),通過(guò)調(diào)整元素間距或元素右對(duì)齊的方式實(shí)現(xiàn)自適應(yīng)。這樣屏幕越大,在垂直方向上可以顯示更多內(nèi)容,發(fā)揮大屏幕的優(yōu)勢(shì)。

按照上述默認(rèn)適配規(guī)則,大中小三種屏幕顯示效果均相同。有時(shí)候想在大屏幕顯示更多內(nèi)容,需要設(shè)計(jì)出特殊適配效果。比如App store首頁(yè)焦點(diǎn)圖,從iPhone 6適配到iPhone 6 plus時(shí)焦點(diǎn)圖尺寸和排版做了特殊處理。底下應(yīng)用列表也從一排3+個(gè)變成一排4+個(gè),真正實(shí)現(xiàn)了大屏幕顯示更多內(nèi)容的理念。這些就需要設(shè)計(jì)師給出相應(yīng)設(shè)計(jì)稿。

讀完你懂了嗎,如果有疑問(wèn),歡飲留言跟我討論╰( ̄▽?zhuān)?╮

原文地址

iOS屏幕適配的兩種方法

第一種

添加兩個(gè)文件 ?UIViewExt.h與UIViewExt.m文件

在ViewController.h文件中導(dǎo)入頭文件

#import"UIViewExt.h"

然后宏定義 獲取設(shè)備的高與寬

#define HEIGHT self.view.height

#define WIDTH self.view.width

然后在ViewController.m文件中初始化各種控件時(shí)就可以使用視圖的相對(duì)位置

self.lblName=[[UILabelalloc]initWithFrame:CGRectMake(self.view.left+50,self.view.top+100,WIDTH/8,HEIGHT/16)];

self.lblPassworw=[[UILabelalloc]initWithFrame:CGRectMake(self.view.left+50,self.lblName.bottom+10,WIDTH/8,HEIGHT/16)];

第二種

這種方法是 等比縮放

首先在AppDelegate.h文件里面

宏定義 獲取設(shè)備的高與寬

#define SCREENHEIGHT [[UIScreen mainScreen] bounds].size.height

#define SCREENWIDTH [[UIScreen mainScreen] bounds].size.width

接著聲明兩個(gè)屬性變量

@property(assign,nonatomic)floatautoSizeScaleX;

@property(assign,nonatomic)floatautoSizeScaleY;

在AppDelegate.m文件里面

//初始化AppDelegate單例的方法

AppDelegate*myDelegate=[[UIApplicationsharedApplication]delegate];

//判斷屏幕的高大于480即為iPhone5或以上設(shè)備因?yàn)樗鼈兤聊欢际堑缺仍鲩L(zhǎng)的

if(SCREENHEIGHT480)

{

/**

*以iPhone5為基準(zhǔn)若是iPhone5

則myDelegate.autoSizeScaleX=SCREENWIDTH/320;

即為myDelegate.autoSizeScaleX=320/320;

若是iPhone6

則myDelegate.autoSizeScaleX=SCREENWIDTH/320;

即為myDelegate.autoSizeScaleX=375/320;

*/

myDelegate.autoSizeScaleX=SCREENWIDTH/320;

myDelegate.autoSizeScaleY=SCREENHEIGHT/568;

}

else{

/**

*否則即為iPhone4

*/

myDelegate.autoSizeScaleX=1.0;

myDelegate.autoSizeScaleY=1.0;

}

在ViewController.h文件中使用時(shí)導(dǎo)入頭文件

#import"AppDelegate.h"

模仿系統(tǒng)的CGRectMake方法 重寫(xiě)一個(gè)CGRectMake1方法 ?在初始化控件時(shí)用這個(gè)方法就可以實(shí)現(xiàn)等比縮放 來(lái)失陪不同屏幕尺寸的iPhone

/**

*? CG_INLINE為內(nèi)聯(lián)函數(shù)

將CGRectMake重新定義為CGRectMake1

*

*? @param x????? #x description#

*? @param y????? #y description#

*? @param width? #width description#

*? @param height #height description#

*

*? @return rect的大小

*/

CG_INLINECGRect

CGRectMake1(CGFloatx,CGFloaty,CGFloatwidth,CGFloatheight)

{

CGRectrect;

AppDelegate*myDelegate=[[UIApplicationsharedApplication]delegate];

rect.origin.x= x *? myDelegate.autoSizeScaleX;

rect.origin.y= y *? myDelegate.autoSizeScaleY;

rect.size.width= width * myDelegate.autoSizeScaleX;

rect.size.height= height * myDelegate.autoSizeScaleY;

returnrect;

}

iOS屏幕尺寸適配

針對(duì)不同屏幕尺寸的適配,主要有3種方式:

1.不同屏幕尺寸下,元素的尺寸是固定的;

2.不同屏幕尺寸下,元素的尺寸改變一個(gè)delta值;

3.不同屏幕尺寸下,元素的尺寸隨屏幕尺寸縮放。

這里記錄一些適配中經(jīng)常用到的宏。

2.不同屏幕尺寸下,元素的尺寸改變一個(gè)delta值

3.不同屏幕尺寸下,元素的尺寸隨屏幕尺寸縮放


文章標(biāo)題:ios開(kāi)發(fā)屏幕適配問(wèn)題,ios開(kāi)發(fā)屏幕適配問(wèn)題解決
本文地址:http://weahome.cn/article/hojceo.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部