日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

ios7适配

發(fā)布時(shí)間:2024/3/7 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios7适配 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一.前言

iOS7可以說是蘋果一次革命性的變化,這次變化也足夠廣大iOS開發(fā)者們苦苦折騰一陣子了。但是,開發(fā)還是要繼續(xù),支持iOS7是遲早要解決的問題。

這次的變化在布局上的體現(xiàn)有:view默認(rèn)是全屏模式,即狀態(tài)欄statusbar不占內(nèi)容視圖的尺寸,變?yōu)槿该鞯母采w在內(nèi)容視圖上層。所有的bar(navigation bar, tool bar, search bars 與scope bars) 都是半透明的,默認(rèn)也是不占用內(nèi)容視圖的尺寸的。

所以,iOS7之前的工程,在不修改的情況下,必然會(huì)出現(xiàn)狀態(tài)欄覆蓋在內(nèi)容視圖上的情況,有可能會(huì)出現(xiàn)導(dǎo)航條等覆蓋在界面上的情況。這里重點(diǎn)解決這兩個(gè)問題。

二.每個(gè)應(yīng)用必須做的事情

1.????下載和安裝最新的XCode5

2.????解決狀態(tài)欄和導(dǎo)航欄的問題

1)使用xib或者storyboard布局

a)??????沒有使用UINavigationControler

用xcode5打開xib,在File inspector中,“Opens in”選擇“Default(5.0)”,如下圖。

然后“View as”選擇“iOS6.1 and Earlier”,如下圖。

然后針對(duì)xib中的控件,調(diào)整增量“iOS 6/7 Deltas”的Y值。增量的意思是如果運(yùn)行在ios7的模式下,就使其坐標(biāo)增加的量,如果是6或更早的,就是直接使用上面的坐標(biāo)(Origin處設(shè)置的值)。

說明:“View as”選項(xiàng)表示當(dāng)前編輯的xib是在哪個(gè)版本下面的效果。如果選擇”iOS6.1 and Earlier”,那么Deltas值表示在ios7下面的增量。因?yàn)閕os6下面是從{0,0}點(diǎn)開始布局的,所以在iOS7下要想不被status bar覆蓋,需要從{0,20}開始布局,即Deltas為20。反之,如果View as為默認(rèn)的”iOS7.0 and Later”,那么Deltas為-20。

b)??????使用了UINavigationControler,且隱藏navigationBar

針對(duì)UINavigationControler中所有viewcontroller.view的xib,使用同a)中的方法修改設(shè)置。

c)??????使用了UINavigationControler,且顯示navigationBar

這種情況設(shè)置navigationBar.translucent = NO 即可。

2)使用純代碼布局

使用純代碼布局,只能在代碼中手動(dòng)修改origin.y值和height。

具體做法是,判斷當(dāng)前設(shè)備的系統(tǒng)版本,如果是7.0及以上,則將UIViewController控制的view的frame.origin.y增加20像素即可。特別的,如果是根視圖,如果使用window.rootViewController = firstViewController的方式,則firstView中各個(gè)元素都需要調(diào)整origin.y的值;如果使用[windowaddSubView:firstView]的方式,則只需調(diào)整firstView。

?

為了簡化代碼,可以將判斷系統(tǒng)版本和調(diào)整frame的方法在prefix.pch中定義為宏,例如,在MyProject-Prefix.pch中定義IOS_7和IOS6_7_DELTA(V,X,Y,W,H)兩個(gè)宏:

#define IOS_7 ([[[UIDevicecurrentDevice] systemVersion] floatValue] >= 7.0f)

#define IOS6_7_DELTA(V,X,Y,W,H) if(IOS_7) {CGRect f = V.frame;f.origin.x += X;f.origin.y += Y;f.size.width +=W;f.size.height += H;V.frame=f;}

然后,例如在SubViewController的viewDidload方法中這樣調(diào)整:

if (IOS_7) {

?????????? IOS6_7_DELTAself.view,0,20,0,-20;?

}

如果是iOS7之前的版本是全屏布局的,height需要-20的增量,否則不需要。

也可以定義一個(gè)view controller父類,在父類中處理,需要調(diào)整的子視圖控制器繼承該父類。

3.????更新app icon

?????????? 在iOS7下,iPhone應(yīng)用的高分辨率appicon尺寸是120 x 120 像素,iPad應(yīng)用的高分辨率app icon是152 x 152像素(見下表)。iOS7下Spotlight search results icon標(biāo)準(zhǔn)和高分辨率尺寸分別是40 x 40和80 x 80 (Info.plist配置中非必須項(xiàng),官方建議設(shè)置)。

?

Icon

設(shè)備類型

iOS6及之前

iOS7及之后

標(biāo)準(zhǔn)(像素)

高分辨率(@2x) 像素

標(biāo)準(zhǔn)(像素)

高分辨率(@2x) 像素

App Icon (required)

iPhone

57 x 57

114 x 114

60 x 60

120 x 120

App Icon (required)

iPad

72 x 72

144 x 144

76 x 76

152 x 152

?

4.????更新啟動(dòng)頁圖片尺寸

如果之前的啟動(dòng)頁圖片(launch image)不包含狀態(tài)欄的高度,則launch image高度都應(yīng)該增加20像素(對(duì)于iPhone, Default-568h@2x.png640 x 1136像素,Default@2x.png640 x 960像素,Default.png是320 x 480像素; 對(duì)于iPad,豎屏分別是768 x1024 和1536 x 2048像素, 橫屏分別是 1024 x 768 和 2048 x 1536像素)。

5.????支持高清顯示和iPhone5

如果之前還沒做這些,那么,現(xiàn)在是時(shí)候了。

三.每個(gè)應(yīng)用都應(yīng)該做的事情

1.??????檢查app中寫死的UI數(shù)值,比如size和position,用系統(tǒng)提供的動(dòng)態(tài)數(shù)值替換它們。

2.??????檢查app中使用UIKit的地方,看尺度和風(fēng)格發(fā)生變化的控制器和視圖是否對(duì)布局和外觀產(chǎn)生了影響。比如,開關(guān)更加寬了,組合式表格(grouped tables)變成通欄的了,進(jìn)度指示條變成了非常細(xì)的小條。

3.??????調(diào)整App的UI風(fēng)格,例如嘗試無邊框的按鈕,慎用投影、漸變、浮雕效果。因?yàn)閕OS 7的美學(xué)重視平緩、分層——盡量少使用讓UI元素看起來擬實(shí)的視覺效果。

4.??????必要的話,將app升級(jí)到iOS 6中推薦的最佳實(shí)踐方法(如:Auto Layout和StoryBoard)并確保app不使用廢棄的API。

?

四. 參考資料

1.???? iOS 7 UI Transition Guide

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TransitionGuide/index.html#//apple_ref/doc/uid/TP40013174

中文版http://mued.sohu.com/2013/06/ios-7-ui-transition-guide/

2.????iOS Human Interface Guidelines

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html#//apple_ref/doc/uid/TP40006556-CH27-SW1

3.???? IOS7狀態(tài)欄StatusBar官方標(biāo)準(zhǔn)適配方法

http://blog.csdn.net/rhljiayou/article/details/12029927

4.????適配iOS7開發(fā)

http://www.ifun.cc/blog/2013/09/28/gua-pei-ios7kai-fa/

5.????Developer’s Guide to the iOS 7Status Bar

http://www.doubleencore.com/2013/09/developers-guide-to-the-ios-7-status-bar/

總結(jié)

以上是生活随笔為你收集整理的ios7适配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。