UI界面編程
- 1.?UIDevice、UIScreen
- 2.?UIView、 UIWindow
- 3.?坐標系
- 4.?CGPoint、CGRect
- 5.?frame & bounds
- 6.?UIColor
- 7.?tag
- 8.?hidden
UIDevice 同樣也是一個類,它提供了一個單例實例來代表當前的設備,在這個實例中你可以得到這個設備的指定名稱、設備的模型以及它的操作系統(tǒng)的名稱和版本。(它對應的是我們的硬件)
??在UIDevice 類中最常用到的是 systemVersion 屬性。
UIDevice *currentDevice = [UIDevice currentDevice];
currentDevice.systemVersion
先別看太仔細,先看視頻的內容,再以后好好補全這些UI界面的詳細內容。
UIScreen:
UIScreen *screen = [UIScreen mainScreen];
上面的screen對應的是硬件的屏幕,包括上部的中國電信,信號等。一般我們會通過它取屏幕的寬度、高度和坐標系(UICoodinateSpace)。
UIWindow:
一個應用程序一般只有一個window。我們看在一個應用中只有一個AppDelegate的文件,那么如何訪問AppDelegate 對象呢? 如下:
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
// 接下來就可以得到應用的 window
appDelegate.window
上面這個方法很重要,一定需要掌握,以后將會經常用到!
??只有上述這個方法來調用 appDelegate 這個對象,因為當我們運行應用的時候,在 main 函數(shù)中已經幫我們生成了一個 AppDelegate對象 ,所以是不能使用 alloc 再生成一個 appDelegate 對象的。
坐標系:
??在 iOS 中坐標原點位于左上角,向右x增加,向下y增加。在iOS 7 之前,運營商、信號、時間、電池狀態(tài)的表叫做 stateBar 寬20 point。下面的navigationBar 寬度為44 point, 它們是連在一起。那個時期,坐標原點是在 navigationBar 的左下角。但是,在 iOS 7 之后, 坐標原點就是在 window 的左上角位置,這是一個需要注意的地方。不過我們可以通過將 navigationBar 透明度設置為0,這樣坐標原點就會從 navigationBar 的左下角開始計算。
oneNavigationController.navigationBar.translucent = NO;
以上默認是yes, 可以根據(jù)需要設置。
CGPoint 是點,CGRect 是矩形。
CGPoint point = CGPointMake(10,10);
CGRect rect = CGRectMake(10,10,100,200);
frame: 任何一個UIView 都需要制定 frame。在frame 中的 x 坐標 和 y 坐標都是相對于其父視圖。
UIColor : 注意在apple自帶的實用工具中有一個顏色提取器,蠻有趣的。
相對于使用 UIColor 的方法,簡單的我們就不介紹了,現(xiàn)在介紹一種使用 RGB 顏色配比的方法:
UIColor *color = [UIColor colorWithRed:(CGFloat) green:(CGFloat) blue:(CGFloat) alpha:(CGFloat) ];
在 alpha的屬性中 ,1 代表不透明, 0 代表全透明。在設置的時候,因為最大值是1,所以比如紅色你想設置60,實際輸入必須是: 60 / 255.0 。
tag: 它是一個整型的值,它是 UIView 之中的一個屬性,例如我們可以給 button設置一個 tag 值。同樣的,hidden 也是它的一個屬性,設置為 yes 的話我們就看不見這個 UIView 了(默認值是 NO):
pushButton.tag = 100;
presentButton.hidden = YES;
仍然需要修改和補充, 未完待續(xù)!