|
IOS筆記(part 1)
1、ios 6和ios 7的view的y坐標統一:
用ios 7也有些時間了,雖然一開始就知道,在ios 7下,在ViewController的view上添加的view,其y坐標是會躲在NavigationBar後面了。
如圖一、圖二
圖一
圖二
一開始的解決方法,都是定義一個ios 7與6的宏來不同區分。現在今天又學習一種新的解決方法:在ViewDidLoad方法中加入這一行代碼吧:
self.edgesForExtendedLayout = UIRectEdgeNone;
避免在ios 6下的異常,完善一下代碼吧:
if ([self respondsToSelectorselector(setEdgesForExtendedLayout])
{
self.edgesForExtendedLayout = UIRectEdgeNone;
}
很完美的解決了,如圖三
圖三
2、全屏時(presentViewController)隱藏掉狀態欄:
很糾結的一個問題了,雖然可以全局的隱藏掉狀態欄,但是卻不能夠動態的顯示/隱藏狀態欄,但是在全屏的時候卻是可以的(ios 6默認就是
UIModalPresentationFullScreen的,ios 7不會如此),試試下麵代碼吧,在你的modal UIViewController中加入:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
Mark:在寫這篇筆記的時候來測試發現,在每個ViewController設置隱藏status bar成功了,其實代碼還是這代碼,在你需要隱藏/顯示的ViewController加上這一個方法吧:
效果圖如下:
隱藏狀態欄
3、UILabel的背景色問題:
ios 7下默認的backgroundColor是[UIColor clearColor],但是在ios 6下麵卻是whiteColor,所以為了統一,你也明確的設定一下吧:label.backgroundColor = [UIColor clearColor];
|
|