歡迎加QQ群討論:157672725
在上一期中我們了解了Size Classes的基本用法哎甲,這一期主要講一下其在iOS9分屏適配中的作用蟀伸。
- iOS9分屏介紹
- 項目如何開啟分屏模式
- Size Classes在分屏中的作用
iOS9分屏介紹
當(dāng)初Surface分屏功能出現(xiàn)的時候惯裕,我就在想要是iPad也能分屏那該多好,所幸的是在iOS9上終于實現(xiàn)了。大家看看兩家分屏的效果吧勿决,是不是太像了呢茫船,此處省略一些話琅束。。算谈。涩禀。。
說實話然眼,看到iOS的分屏那一刻我的心情是很復(fù)雜的艾船。心里想著終于可以體驗一下分屏了,但是又想了一下,啊啊啊啊啊屿岂,是不是又要重寫很多代碼了敖刚帷!廢話有點多雁社,那下面我們開始看看iOS的分屏吧浴井。
首先是 Slide Over,簡單來說霉撵,它是一個快速調(diào)用應(yīng)用的功能磺浙。它能讓你快速的從側(cè)欄位置打開一個應(yīng)用,進行操作徒坡,在完成后回到之前的應(yīng)用撕氧,例如快速回復(fù)一條短信、或者記下一條備忘錄等等喇完。
接下來是 Split View 顯然這是新功能中最有用的伦泥,因為他可以讓你同時 “做兩件事情”,雖然在這之前這招已經(jīng)被 Windows 8.1 玩過了锦溪。它的操作方式與 Slide Over 類似不脯,你仍需要先調(diào)用出 Slide Over,再通過滑動兩個應(yīng)用之間的空隙來完成分屏刻诊。
項目如何開啟分屏模式
如果你是使用Xcode 7建立工程時防楷,是默認(rèn)支持Slide Over和Split View。
如果你從老的工程升級到iOS 9则涯,需要通過以下的Xcode工程配置來支持Slide Over和Split View:
-
設(shè)置BaseSDK 為 “Latest iOS ”
-
提供LaunchScreen.storyboard 文件(不是在iOS 7以及更早版本中的.png圖片文件)复局。
-
設(shè)置支持所有朝向
Size Classes在分屏中的作用
在上一期中,SizeClassDemo僅僅適配了iPhone粟判。有讀者問我那iPad怎么適配呢亿昏?那么下面我們就來談?wù)刬Pad的適配。
首先档礁,我們新建一個工程角钩,然后在 w Compact h Regular的型下拖一個label,title設(shè)置為“寬:緊湊 高:常規(guī)”事秀,在 w Regular h Regular的型下拖一個label彤断,title設(shè)置為“寬:常規(guī) 高:常規(guī)",如下圖所示易迹。
這個時候宰衙,選擇模擬器 iPad air2運行,會發(fā)現(xiàn)全屏狀態(tài)下它顯示“寬:常規(guī) 高:常規(guī)"睹欲,我們分屏操作一下供炼,可以發(fā)現(xiàn)一屋,它顯示成了“寬:緊湊 高:常規(guī)”,如下圖所示。
由該Demo我們知道了iPad的適配袋哼、分屏適配與iPhone類似冀墨,關(guān)鍵在于型的選擇。再此我補充一下型的選擇的另一個知識點:
當(dāng)我們在選擇型的時候拖動鼠標(biāo)會發(fā)現(xiàn)涛贯,有綠點在變化诽嘉。其實該綠點表示我們選擇的這個型能適應(yīng)其他的型(繼承關(guān)系),直接上圖吧弟翘,看得比較清楚虫腋。
如下圖,我選中w Compact h Any的時候有三個綠點【w Compact h Compact , w Compact h Any ,w Compact h Regular】這就表示該型同樣支持另外兩個型的適配稀余,這也就是為什么叫Any的原因了悦冀。
需要注意的是在選型的時候盡量避免"綠點沖突",舉個例就是:不要適配了w Compact h Any型睛琳,再去適配w Compact h Regular型了盒蟆,因為 h Any已經(jīng)可以包括Regular了,用程序上去理解就是盡量不要override了师骗。
比如历等,我們在demo的基礎(chǔ)上在w Compact h Any的型下拖一個label,title設(shè)置為“寬:緊湊 高:Any”如下圖
這個時候運行一下丧凤,分屏操作可以發(fā)現(xiàn)如下圖所示的問題
另外我們可以發(fā)現(xiàn)募闲,在適配iPad的時候有一個問題步脓,就是ipad的寬無論是在橫屏還是豎屏下寬和高都是Regular的愿待,如下圖所示所有適應(yīng)iPad的型都是同時適應(yīng)橫豎屏的。
那如果要適配iPad的旋轉(zhuǎn)的時候布局不同應(yīng)該怎么做呢靴患?只能通過代碼仍侥?希望知道的高手告知,有興趣的朋友可以加群討論鸳君。
小結(jié)一下
- 分屏的適配的關(guān)鍵同樣在于型的選擇
- 型的選擇時注意綠點农渊,盡量避免“綠點沖突 ”
- 如果要適配iPad的旋轉(zhuǎn)的時候布局不同應(yīng)該怎么做呢?只能通過代碼或颊?
- Demo地址:https://github.com/catchZeng/SizeClassDemo2