2012年9月29日 星期六

給我一首歌的時間,3.5和4吋螢幕一網打盡

改頭換面的舊專案 ( 3.5 -> 4 ):

原先針對3.5-inch設計的App,當直接於iPhone 5上運行時,仍然可以運行無阻。此時App運行時將進入相容模式,App的畫面置中,維持原先3.5-inch時的高度,但上下各多出了一塊黑邊,此黑邊即是4-inch畫面所多出的高度。


想要移除破壞美觀的黑邊很簡單,只要設定4-inch的Launch Image,即可表明App在4-inch的環境下可以完全發揮,不用委屈地進入相容模式。


執行App:



重情念舊的新專案 ( 4 -> 3.5 ) :


1. 建立Tabbed Application專案。

2. 將Development Target設為5.0,如此才能至少支援iPhone 5以上的機器。



3. 關閉Autolayout

Autolayout是iOS 6才支援的酷炫功能,為了相容iOS 5,我們只好忍痛割除它。請編輯MainStoryboard.storyboard,切換至File Inspector頁面,將原本勾選的Use Autolayout取消。



4. 於第一個tab的view上加入佔滿畫面的ImageView,Mode設為Aspect Fill,並以彼得潘曾經買過的可愛猴子娃娃為主角。




執行App:





如圖所示,不管是在3.5還是4-inch畫面,tab bar都完美地對齊下方,唯一的差別只在於猴子顯示的範圍。在比較高瘦的4-inch畫面上,最近吃太多需要瘦身的猴子只好犧牲一點,無法露出其完整的腳丫子。

也許有人覺得奇怪,一開始新專案裡預設的Storyboard顯示的是4-inch的畫面,因此我們加入的ImageView其實比較長,為何在3.5-inch iPhone執行時它會聰明地自動縮小呢? 其實這裡頭沒有神奇的魔法,這全是容納ImageView的View的功勞。如下圖所示,我們看到View的Autoresize Subviews被勾選,因此ImageView將跟著View的大小而縮放。



若是我們調皮地將Autoresize Subviews的勾選拿掉,在3.5-inch iPhone執行的畫面將變這樣。




實在是太可憐了,由於ImageView還是維持4-inch時的高度,所以在3.5-inch的畫面上,我們完全看不到猴子的腳丫子了。



沒有留言:

張貼留言