UIView 学习知识点
UI學習第一周
UIView 視圖類 :代表屏幕上的一塊矩形區域,在屏幕上看到的任何一個元素都是UIView或者UIView的子類
創建UIView的幾大要素:
//1.大小 – 寬和高
//2.位置 – 視圖左上角點得坐標,x(橫坐標), y(縱坐標)
//3.快速創建結構體的變量的方法
CGRect -> CGREcetMake()? 包含位置和大小
CGPoint -> CGPointMake() 包含位置 x和y
CGSize -> CGSizeMake() 包含大小 width 和 height
實例:
//1,創建視圖對象
?UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
//2,更改背景顏色
?redView.backgroundColor = [UIColor redColor];
(在這個位置可以給視圖設置唯一標識 tag
redView.tag = 101; //可以通過tag值取到redView視圖)
//3,添加到父視圖上 -- window上
?[self.window addSubview:redView];
//4,釋放所有權 -- 對應alloc操作
? [redView release];
UIView視圖相關的屬性
?? //通過tag值獲取視圖
UIView *tempView = [self.window viewWithTag:101];
?
//打印視圖
//打印window和中心視圖的所有子視圖
NSLog(@”window:%@”, self.window.subviews);
NSLog(@”window:%@”, centerView.subviews);
//打印中間視圖和右上角視圖的父視圖
NSLog(@”center:%@”, centerView.superview);
NSLog(@”leftUp:%@”, leftUpView.superview);
//通過window的subviews獲取
UIView *tempView = [self.window.subviews objectAtIndex:1];
//視圖操作的API
//運用創建視圖方法分別創建紅黃藍綠視圖:
? //將藍色添加到黃色視圖和紅色視圖中間
//[self.window insertSubview:blueView belowSubview:yellowView];
//[self.window insertSubview:blueView aboveSubview:redView];
//[self.window insertSubview:blueView atIndex:1];
? //該方法將視圖添加到subviews數組中最后一個位置
??? [self.window addSubview:blueView];
??? [blueView release];
? //1.把綠色視圖移動到最后面
//[self.window sendSubviewToBack:blueView];
? //2.把綠色視圖移動到最前面
//[self.window bringSubviewToFront:blueView];
? //3.將藍色視圖和紅色視圖換下位置
//[self.window exchangeSubviewAtIndex:3 withSubviewAtIndex:0];
? //4.將藍色視圖移除掉
//[blueView removeFromSuperview];
//管理視圖的層級關系:
?
視圖具有的和位置相關的屬性
???? 1.frame:既包含大小,也包含位置,而位置是視圖區域左上角的點的坐標,相對于父視圖坐標原點的距離.
???? 2.center:中心點的位置.
???? 3(難點).bounds:既包含大小,也包含位置,而位置是視圖區域左上角的點的坐標,相對于自身視圖坐標原點的距離.
改變bounds中x,y.會造成自身視圖坐標原點位置發生變化,影響子視圖位置.
實例:
//布局思想 -- 創建一個和屏幕等大的內容視圖,添加到window上,而所有的子視圖都添加到內容視圖上.
??? UIView *containerView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
??? containerView.backgroundColor = [UIColor yellowColor];
??? [self.window addSubview:containerView];
??? [containerView release];
??? //接下來將所有的子視圖都添加到內容視圖containerView上
轉載于:https://www.cnblogs.com/iamfoolish/p/4769807.html
總結
以上是生活随笔為你收集整理的UIView 学习知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [C#] 等待启动的进程执行完毕
- 下一篇: 递推DP UVA 590 Always