UI/UIWindow/UIView

UIWindow 窗口
UIWindow 
在iOS應用程序中只能有一個主窗口
UIWindow 是用來承載顯示 可以看到控件的容器
UIWindow  爲什麼說是一個容器 因爲所有控件都是一層層添加到窗口上的
UIWindow初始化
self.window * = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];//initWithFrame構造方法 在創建一個對象的時候同時給他一個Frame
獲取屏幕邊境範圍[UIScreen mainScreen].bounds;
self.window * = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
ViewController *vc = [[ViewController alloc]init];
self.window.rootViewController = vc;
self.window.backgroundColor  = [UIColor redColor];
[self.window makeKeyAndVisible];//makeKeyAndVisible 讓窗口是主窗口並且顯示在屏幕上

UIView 視圖
UIView一個視圖所有視圖類的父類
UIWindow也屬於視圖
視圖的創建
UIView *view = [[UIView alloc]init];
[父視圖 addSubview:要添加的視圖];
添加視圖到父類 如果沒有這個方法創建的視圖將不會顯示在屏幕上
視頻的位置和自身的大小 frame ——>位置
屏幕是由很多像素點組成的 視圖的起始位置是origin 窗口的起始位置在左上角(0,0)
所有子視圖都是根據origin(原點)來定義起始位置
size  尺寸 視圖的大小
frame 視圖中的一個屬性
CGRect
CGRect frame
view.frame = CGRectMake(200,200,100,100);
 背景顏色view.backgroundColor
UIColor顏色類 可以通過顏色類創建對象是一個顏色
UIColor *blue = [UIColor blueColor];
view.backgroundColor = blue;
view1.backgroundColor = [UIColor redColor];
設置視圖透明度alpha
   0.0(完全透明《所有屬性方法類似被禁用》)-1.0(不透明)
 view.alpha = 0.8;
隱藏hidden YES 隱藏 NO 顯示
圖層之間的關係 視圖是一層層疊加到父視圖上的
父視圖子視圖
 父視圖是一個承載體
 子視圖是父視圖裏面的一個元素
父視圖的位置發生改變子視圖也會跟隨父視圖一起改變
frame :是根據父視圖來定義視圖自身位置(原點)
定義frame不要超出父視圖範圍 超出部分將不再接受任何響應事件
center中心點對角線的交點
center.x =/2+原點的x
center.y =/2+原點的y
改變中心點可以改變視圖的位置
只能使用frame在創建視圖的時候給他一個位置
相對於自身的位置原點永遠是(00)
bounds自身的邊境範圍
bounds用途 是獲得視圖的寬高 忽略原點

定時器隔多少秒去做某件事  NSTimer 定時器的類
定時器初始化的方法
NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(start) userInfo:nil repeats:YES];
NSTimer定時器的類
  定時器初始化的方法
   Interval:時間間隔單位是秒
   target:讓誰去執行
   selector:方法選擇器用來選擇一個方法去執行
   repeats:重複次數             
  隔一秒執行start方法 重複執行

在同一個父視圖中:
view移動到最上面
[self.window bringSubviewToFront:view];
把一個視圖移動到底下
[self.window sendSubviewToBack:view2];
交換兩個視圖的方法
- (void)exchangeSubviewAtIndex:(NSInteger)index1 withSubviewAtIndex:(NSInteger)index2;
[self.window exchangeSubviewAtIndex:2 withSubviewAtIndex:1]
subviews(所有子視圖組成的數組)是一個數組
self.window.subviews
初始化視圖的順序就是把視圖存放到subviews這個數組裏面的順序
改變視圖的順序就是改變subviews數組裏面元素的位置
插入view3view1
[self.window insertSubview:view3 aboveSubview:view];
[self.window insertSubview:view3 atIndex:2];
插入到哪一個視圖底下
[self.window insertSubview:view3 belowSubview:view];
tag:標記標籤 標號 相當同一個父視圖裏面的身份證號
view3.tag= 100;
可以通過tag值在他的父視圖找到這個視圖
viewWithTag:在一個父視圖上面查找有沒有tag是多少的視圖
移除視圖
[view removeFromSuperview];
發佈了37 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章