iOS7的界面上移问题
第一種方法:修改BaseSDK
XCode5的默認(rèn)BaseSDK是iOS7,所以要修改成工程文件創(chuàng)建時(shí)的BaseSDK。但是XCode5中默認(rèn)只帶有iOS7的SDK,所以要想能做到更改SDK,我們就要添加舊的SDK。
1.從蘋果開(kāi)發(fā)者中心下載舊版本XCode,https://developer.apple.com/downloads/index.action?name=Xcode
2.從中提取出iPhoneOS SDK 和iPhone Simulator SDK,前者所在的位置是XCode應(yīng)用程序包中的路徑是Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs,后者是Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs
3.假設(shè)我們已經(jīng)安裝了XCode5,那么我們?cè)趹?yīng)用程序中找到XCode.app右擊顯示包內(nèi)容,依此?Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 路徑打開(kāi),把提取出的iPhoneOS SDK復(fù)制進(jìn)去。模擬器SDK的拷貝也同理。
4.重啟XCode,這個(gè)時(shí)候就可以設(shè)置Base SDK了
5.假如設(shè)置成iOS6,那么應(yīng)用就算在運(yùn)行iOS7的設(shè)備上也是呈現(xiàn)iOS6的特性。舉個(gè)例子,倘若此應(yīng)用在需要輸入的時(shí)候彈出的鍵盤是iOS6樣式的并不是iOS7樣式的。
6.可以參考http://github.kimziv.com/blog/2013/09/22/how-to-use-older-base-sdks-in-xcode5/
第二種方法:手動(dòng)代碼設(shè)置各個(gè)UI組件的frame
1.判斷當(dāng)前設(shè)備的系統(tǒng)
#define iOS7 ([[[UIDevice currentDevice]systemVersion] floatValue] >= 7.0)?YES:NO
2.再根據(jù)不同的系統(tǒng)設(shè)置Frame
?
第三種方法:改變window
1.需要在Info.plist配置文件中,增加鍵:UIViewControllerBasedStatusBarAppearance,并設(shè)置為YES
2.在AppDelegate.m中
?
- (BOOL)application:(UIApplication?*)application didFinishLaunchingWithOptions:(NSDictionary?*)launchOptions;
?
添加
第四種方法:對(duì)每個(gè)UIViewController的.m文件中編寫(xiě)代碼進(jìn)行設(shè)置(推薦)
?
推薦使用這種方法
在iOS7當(dāng)中未使用UINavigationController界面相對(duì)iOS6會(huì)上移20px,使用了會(huì)上移64px。簡(jiǎn)單的說(shuō)導(dǎo)航欄和狀態(tài)欄默認(rèn)都會(huì)覆蓋下面的頁(yè)面,使用下面的方法就可以避免
?if ([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0) {
self.edgesForExtendedLayout = UIRectEdgeNone;
}
轉(zhuǎn)載于:https://www.cnblogs.com/hecheng0314/p/5809102.html
總結(jié)
以上是生活随笔為你收集整理的iOS7的界面上移问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 胰岛素多少钱一支
- 下一篇: ios app 砸壳