1. 程式人生 > >IOS基礎--CG函式篇

IOS基礎--CG函式篇

基本型別介紹

型別 表示
CGFloat 表示一個浮點
CGPoint 表示一個點
CGsize 標示一個矩形,但只有高度和寬度
CGRect 表示一個矩形,並且有原點的位置。
CGRectZero 是一個高度為零,寬度為零,原點位置也為零,需要建立邊框但還不確定邊框大小和位置時,可以使用此常量
CGPointMake,CGRectMake,CGSizeMake 用來初始化NSStringFromPoint,NSStringFromRect,NSStringFromSize 用於將Poing,rect,size轉換成字串

例項

CGFloat f=1.2f;
CGPoint point=CGPointMake(1.2F, 2.3F);
CGRect cgrect=CGRectMake(1.2f, 2.3, 4.5, 5.6);
CGSize size=CGSizeMake(2.3, 3.2);
NSLog(@"float is %f",f);
NSLog(@"point is %@",NSStringFromPoint(point));
NSLog(@"cgrect is %@",NSStringFromRect(cgrect));
NSLog(@"size is %@",NSStringFromSize(size));
//result
2013-05-09 15:29:25.522 test[1734:303] float is 1.200000
2013-05-09 15:29:25.523 test[1734:303] point is {1.2000000476837158, 2.2999999523162842}
2013-05-09 15:29:25.523 test[1734:303] cgrect is {{1.2000000476837158, 2.2999999999999998}, {4.5, 5.5999999999999996}}
2013-05-09 15:29:25.523 test[1734:303] size is {2.2999999999999998
, 3.2000000000000002}

CGPoint和CGSize

前者通過x和y座標定義,後者包括寬度和高度。使用CGPointMake(x,y)建立點。CGSizeMake(width,height)建立大小。雖然這兩個結構看上去相同(兩個浮點值),但iPhoneSDK對二者有所區別。點表示位置值,大小表示程度值。不能將myFrame.origin設定為大小。

與矩形相同,可以將它們與字串進行相互轉換,可用如下函式:NSStringFromCGPoint()、 NSStringPromCGgize()、CGSizeFromString()和CGPointFromString()。
3.檢視佈局
當前釋出的iPhone,螢幕大小在縱向模式下為320X480,在橫向模式下為480X320。無論使用橫向還是縱向模式,位於螢幕頂部的標準狀態欄都佔用20畫素的高度。要查詢狀態列邊框,可以呼叫[[UIApplication sharedApplication] statusBarPrame]

如果更願意釋放這20畫素的螢幕空間,則可以完全隱藏狀態列。使用此UIApplication呼叫: [UIApplication sharedApplication]setStatusBarHidden:YES animated:NO]。或者,在應用程式的Info.plist檔案中將UIStatusBarHidden設定為。

要僅在橫向模式下執行應用程式,可以將狀態列方向設定為橫向。如果計劃隱藏狀態列,也應執行此操作(即[[UIApptication sharedApplication] setStatusBarOrientation: UIInEerfaceOrientationLandscapeRight])。這將強制視窗並排顯示井生成正確的橫向鍵盤。

UIScreen物件代表iPhone的物理螢幕([UIScreen malnScreen])。此螢幕物件建立檢視佈局邊界與畫素空間之間的對映。它返回全屏大小(bounds)或只是應用程式佔用的矩形(applicationFrame)。後面會考慮狀態列以及任何工具欄/導航欄(如果已使用)的大小。

預設情況下,UINavigationBar、UIToolbar和UITabBar物件的高度均為44畫素。使用這些數字計算iPhone螢幕上的可用空間,在未使用Interface Builder的佈局工具時對應用程式進行佈局