3 回答

TA貢獻(xiàn)1816條經(jīng)驗 獲得超4個贊
Xcode 5 iOS 6/7 Deltas
專門用于解決此問題。在故事板中,我將我的視圖向下移動了20個像素,在iOS 7上向右看,為了使其與iOS 6兼容,我更改Delta y
為-20。
由于我的故事板沒有使用自動布局,為了在iOS 6上正確調(diào)整視圖的高度,我必須設(shè)置Delta height
為Delta Y
。

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊
如果您根本不想要任何狀態(tài)欄,則需要使用以下數(shù)據(jù)更新plist:要在plist中執(zhí)行此操作,請?zhí)砑右韵聝蓚€設(shè)置:
<key>UIStatusBarHidden</key><true/><key>UIViewControllerBasedStatusBarAppearance</key><false/>
在iOS 7中,您需要設(shè)計一個覆蓋透明狀態(tài)欄的應(yīng)用程序。例如,請參閱新的iOS 7天氣應(yīng)用程序。

TA貢獻(xiàn)1777條經(jīng)驗 獲得超10個贊
這是UIViewController
iOS 7上的默認(rèn)行為。視圖將全屏顯示,這意味著狀態(tài)欄將覆蓋視圖的頂部。
如果你有一個UIViewController
內(nèi)部的UINavigationController
和的導(dǎo)航欄是可見的,你可以有下面的代碼在你的viewDidLoad
或有背景圖片的導(dǎo)航欄做的伎倆。
self.edgesForExtendedLayout = UIRectEdgeNone;
如果您隱藏了navigationBar,則必須通過移動20個點來調(diào)整所有UIView元素。我沒有看到任何其他解決方案。使用自動布局會有所幫助。
以下是用于檢測iOS版本的示例代碼,如果您想要向后兼容。
NSUInteger DeviceSystemMajorVersion() { static NSUInteger _deviceSystemMajorVersion = -1; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ NSString *systemVersion = [UIDevice currentDevice].systemVersion; _deviceSystemMajorVersion = [[systemVersion componentsSeparatedByString:@"."][0] intValue]; }); return _deviceSystemMajorVersion;}
- 3 回答
- 0 關(guān)注
- 996 瀏覽
添加回答
舉報