標籤:
UIView 簡介什麼是UIView
UIView是視窗上的一塊地區,是iOS中所有控制項的基類,我們在app中所有能看見的都是直接或間接繼承與UIView的.我們把UIView叫做視圖.
UIView的作用
- 負責內部地區的內容渲染。
- 負責內部地區的觸摸事件。
- 管理本身的所有子視圖。
- 處理基本的動畫。
UIView建立與使用建立UIView
//通過frame建立View UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)]; //添加到父視圖中 [self.window addSubview:view];
視圖是一塊地區,所以建立UIView的同時需要設定他的位置和大小,frame是一個包含位置和大小的結構體;
UIView 的基本屬性
//設定視圖的背景顏色 view.backgroundColor = [UIColor redColor]; //修改視圖的大小或者位置 view.frame = CGRectMake(200, 100, 200, 200); //設定視圖的透明度[0.0, 1.0] view.alpha = 0.5; //設定是否隱藏 view.hidden = NO; //設定視圖的標籤 view.tag = 100; //中心點 view.center = self.window.center;
注意:這裡特別說下frame, 他是UIView一個非常重要的屬性,決定了UIView的大小和位置;frame中設定的位置是以UIView的父視圖座標係為基準,需要特別注意的是不可以修改frame中的某個成員變數,只能整體修改frame
子視圖管理
- NSArray *subviews
- 管理所有的子視圖(控制項)
- 數組元素的順序決定著子控制項的顯示層級順序(下標越大的,越顯示在上面)
- 所有子視圖的管理都是對
subviews數組的管理
添加視圖
UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; view2.backgroundColor = [UIColor greenColor]; view2.tag = 200; //將view2添加到view上 [view addSubview:view2];
通過上述代碼添加後,view2是view的子視圖,view是view2的父視圖;
所有視圖之間有層次層級關係,越是在後添加的視圖,越顯示在上面,前面添加的在下面
插入視圖
//將一個yView插入到view的子視圖中,序號為0的位置 //序號越小越靠近下面,序號越大越靠近上面 //序號的範圍[0,子視圖的個數) [view insertSubview:yView atIndex:0]; //將oView插入到view的子視圖中view2的下面 [view insertSubview:oView belowSubview:view2]; //將人View插入到view的子視圖中, yView的上面 [view insertSubview:rView aboveSubview:yView];
刪除視圖
UIView中子視圖管理和數組對元素的管理不一樣,他不能通過父視圖去刪除子視圖,只能子視圖自己將自己從父視圖中刪除.
//view2將自己從父視圖中移除 [view2 removeFromSuperview];
擷取視圖
視圖沒有名字,但他有標識,所以要想擷取視圖中的指定子視圖,我們可以通過子視圖的標識來擷取,方法如下:
//擷取view下子視表徵圖識為200的視圖 UIView *subView = [view viewWithTag:200];
更改視圖的顯示層級
//通過父視圖,將某個子視圖在最上面顯示 [view bringSubviewToFront:yView]; //通過父視圖, 將某個子視圖在最下顯示 [view sendSubviewToBack:view2];
本文簡書連結:http://www.jianshu.com/p/1f28240babd0
iOS UI基礎控制項之UIView 詳解