iOS6 AutoLayout Storyboard and compatible to iOS5

2013/04/11
~ 阿亮 ~

前陣子寫了「您的微新聞 」和「下一班高鐵 」(一個高鐵時刻表 App) iOS App,一開始是 iOS6 based,因為 iOS6 之後,有支援推播 (Push Notification) 以及社群分享(Social Share) 的功能,因為 iOS6 有支援 Facebook, Twitter, 變好寫很多。後來,有使用者說他還在用 iOS5,可能舊的機型,或者仍有 JB? 就試試支援一下 iOS5,但,有被整到 XD 記錄一下,免得忘了。

可是,真的有點想不管 iOS5 哩。。。又沒多少人 (<5%) ,就算支援,推播、分享又不能用 (煙~ )

 

一、iOS Deployment Target 要由原本 6.0 設成 5.0,如果有用 Cocoapods,pods project 也是要設。

螢幕擷取_13_4_4_下午11_46

 

二、將原本的 storyboard 拷貝一份,改成另一個,比如這裡的 MainStoryboard_iOS5.storyboard

螢幕擷取_13_4_7_下午8_56
以下這段做 storyboard 選擇的程式碼加到 AppDelegate.m 的

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  \
   ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

// Pick storyboard
if (!SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0"))
{
    // for 5.x
    UIStoryboard *storyBoard;
    storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iOS5" bundle:nil];
    UIViewController *initViewController = [storyBoard instantiateInitialViewController];
    [self.window setRootViewController:initViewController];
}

三、 接下來,就針對 MainStoryboard_iOS5 的部份來處理,比如將此 Storyboard 的 Autolayout 關掉,並將 Document Versioning  改成  5.0

螢幕擷取_13_4_7_下午8_55

 

四、將 ViewControl 的以下,「可能」要關掉 “Resize View from NIB,不太確定,要試試。

螢幕擷取_13_4_7_下午8_41

 

五、Subview 「可能」要關掉 “Autoresize Subviews”,View Mode 也可能要改成 “Left”,不太確定,也是要試試。

螢幕擷取_13_4_7_下午8_17

六、navigation view 的 toolbar 似乎也易於 iOS6 變成亂亂的。

螢幕擷取_13_4_8_下午4_21

以上,很多東西,我也還不熟,若你有類似的需求,就參考看看吧。不保證是對的 XD

註: My Current Environment (2013.04)

Xcode version: 4.6.1



站內搜尋



本站其他服務

本站其他軟體



  • 下一班公車(nextBus)

    這個 app 只要開啟後,就根據定位幫你過濾出附近站牌的時刻表,以及提供相關公車預計到站的時間,方便您在很快時間內確定要坐的哪一班公車


  • 下一班高鐵 (nextTHSR)

    這個 app 只要開啟後,就根據定位幫你過濾出最近高鐵站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班高鐵


  • 批踢踢快訊 (pttNews)

    身為鄉民的您,是不是常常覺得現在的批踢踢 (PTT) 閱讀器,明明您就只要看幾個板,都幫您分類好,但不是您要的?甚至您只想關注某個人(或某件事)的消息,卻散布在不同東西,找出來很辛苦? 這個 App 可以解決您這些問題,快來用吧!


  • 下一班火車 (nextRail)

    這個 app 只要開啟後,就根據定位幫你過濾出最近火車站的時刻表,不用再按任何按鈕了,方便您在很快時間內確定要坐的哪一班火車


  • 標案快訊

    讓你可以輕鬆追蹤含有您想要關注關鍵詞的任何採購標案,只要有最新的資訊,「標案快訊」即會推播通知給你.


  • 照片去背(PhotoEraser)

    一款方便移除背景的工具,產生透明背景圖可以存回原本相簿,也可分享到其他 App 使用.