標籤:
在視窗上建立三個視圖:
橘色的v1
UIView *v1 = [[UIView alloc]initWithFrame:CGRectMake(100, 200, 200, 200)];
v1.backgroundColor = [UIColor orangeColor];
[self.window addSubview:v1];
黑色的v2
UIView *v2 =[[UIView alloc]initWithFrame:CGRectMake(50, 300, 300, 300)];
v2.backgroundColor = [UIColor blackColor];
[self.window addSubview:v2];
綠色的v3
UIView *v3 =[[UIView alloc]initWithFrame:CGRectMake(50, 100, 80, 400)];
v3.backgroundColor = [UIColor greenColor];
[self.window addSubview:v3];
初始化視圖的順序 就是把視圖存放到subviews 這個數組類裡面的位置
父視圖的位置是0 之後加入到父視圖的位置+1
改變視圖的位置 就是在改變 subviews 數組裡面元素的位置
現在運行程式 Simulator 顯示的結果如下:
現在我們把橘色的視圖v1移到最上面:
[self.window bringSubviewToFront:v1];結果如下:
本來在視窗最下面的視圖v1現在在最上面了
現在把上一個方法注釋掉 把視圖v3移動到最下面
[self.window sendSubviewToBack:v3];
我們知道了所有添加的視圖在 subviews 數組的中的下標
現在交換兩個視圖v1和v3的位置
[self.window exchangeSubviewAtIndex:1withSubviewAtIndex:3];
現在我們試試建立一個視圖 並且添加到想要的已存在視圖的上面或者下面
新添加一個紫色的視圖insertView
UIView *insertView = [[UIView alloc]initWithFrame:CGRectMake(80, 250, 80, 150)];
insertView.backgroundColor = [UIColor purpleColor];
[self.window addSubview:insertView];
插入一個視圖 到視圖v1上面
[self.window insertSubview:insertView aboveSubview:v1;
注釋掉上一句 把紫色視圖添加到綠色視圖v3下
[self.window insertSubview:insertSubview belowSubview:v3]; 移除一個視圖的方法:
[視圖名 removeFromSuperview];
tag:標籤 標記 標號 -> 同一個父視圖裡面的社會安全號碼
insertView.tag = 100;
可以通過tag值 在他的父視圖上找到 這視圖
viewWithTag: 在一個父視圖上面 尋找有沒有tag值 是多少的視圖
UIView *v = [self.window viewWithTag:100];
這時 v 就是 insertView
v.backgroundColor = [UIColor redColor];
iOS-UI父視圖下視圖的操作