iOS7的介面上移問題

來源:互聯網
上載者:User

標籤:

第一種方法:修改BaseSDK

XCode5的預設BaseSDK是iOS7,所以要修改成工程檔案建立時的BaseSDK。但是XCode5中預設只帶有iOS7的SDK,所以要想能做到更改SDK,我們就要添加舊的SDK。

1.從蘋果開發人員中心下載舊版本XCode,https://developer.apple.com/downloads/index.action?name=Xcode

2.從中提取出iPhoneOS SDK 和iPhone Simulator SDK,前者所在的位置是XCode應用程式套件組合中的路徑是Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs,後者是Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

3.假設我們已經安裝了XCode5,那麼我們在應用程式中找到XCode.app右擊顯示包內容,依此 Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 路徑開啟,把提取出的iPhoneOS SDK複製進去。模擬器SDK的拷貝也同理。

4.重啟XCode,這個時候就可以設定Base SDK了

5.假如設定成iOS6,那麼應用就算在運行iOS7的裝置上也是呈現iOS6的特性。舉個例子,倘若此應用在需要輸入的時候彈出的鍵盤是iOS6樣式的並不是iOS7樣式的。

6.可以參考http://github.kimziv.com/blog/2013/09/22/how-to-use-older-base-sdks-in-xcode5/

第二種方法:手動代碼設定各個UI組件的frame

1.判斷當前裝置的系統

#define iOS7 ([[[UIDevice currentDevice]systemVersion] floatValue] >= 7.0)?YES:NO

2.再根據不同的系統設定Frame

 

第三種方法:改變window

1.需要在Info.plist設定檔中,增加鍵:UIViewControllerBasedStatusBarAppearance,並設定為YES

2.在AppDelegate.m中

 

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

 

添加

第四種方法:對每個UIViewController的.m檔案中編寫代碼進行設定(推薦)

 

推薦使用這種方法

在iOS7當中未使用UINavigationController介面相對iOS6會上移20px,使用了會上移64px。簡單的說導覽列和狀態列預設都會覆蓋下面的頁面,使用下面的方法就可以避免

 if ([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0) {

self.edgesForExtendedLayout = UIRectEdgeNone;

}

iOS7的介面上移問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.