之前做的項目支援的最低版本為IOS6.0,是以整理一些IOS6的适配問題(IOS6和IOS7)之間的差別.
IOS6和IOS7的坐标:
IOS6視圖View 的坐标是從導航欄(高度 44)下面開始計算的,沒有導航欄的坐标是從狀态欄下面開始計算坐标.
IOS7視圖View 的坐标是從狀态欄(高度 20)下面開始計算.沒有導航欄的情況下坐标是從左上角開始計算的. IOS7 中蘋果引入了一個新的屬性 setEdgesForExtendedLayout, 它的預設值:UIRectEdgeAll,如果容器是navigationController, 預設的布局是從導航欄的頂部開始的也就是狀态欄的底部, 是以所有的UI元素會往上移動 44pt.
IOS7 中如果希望視圖是從導航欄的下面開始的解決辦法如下:
self.edgesForExtendedLayout = UIRectEdgeNone;
這樣就可以達到和IOS6 一樣的效果.
2.IOS6 比如:UILabel的background的背景顔色預設是白色
IOS7 下面UILabel的背景顔色是:clearColor 是以為了在IOS6和IOS7都能達到完美的效果都 設定為:clearColor.
3.IOS6中模态出的ViewController,預設是全屏的,在IOS7系統中藥獲得相同的效果,可以這樣設定:
- (BOOL)prefersStatusBarHidden
{
return YES;
}