第一章
一.UIWidow
1.如何创建window
在创建window的时候,需要制定window的大侠,通常window的大小(frame)与屏幕(UIScreen)大小一致.
示例代码:
self.window = [ [UIwindow alloc] initWithFrame:[ [UIScreen mainScreen] bounds] ]; 二.UIView
1.什么是UIview
view(视图):代表屏幕上的一个矩形区域,不同的空间代表不同种类的view.
2.如何创建View
创建步骤:
①.开辟空间并初始化视图(初始化时,给出视图的位置和大小);
②.对试图做一些设置;
③.将视图添加到window上进行显示;
④.释放视图对象
3,试图创建代码:
UIView *redView = [ [UIView alloc] initWithFram:CGRectMake(100,100,120,100)];
redView,backgroundColor = [UIColor redColor] ;
[self.window addSubvierw:redView];
[redView release];
4.frame
frame是view的重要属性是我们做视图布局的关键,他决定了视图的大小和位置.
frame是一个结构体,包含两部分origin和size两部分.
size也是一个结构体,同样包含两部分width和height;
origin也是一个结构体,包含两部分x和y.
5.IOS坐标系
iOS提供了用于布局的平面坐标系.左上角为坐标的原点.
水平向右:为x的正方向.屏幕最左到最右可划分320等分.
垂直向下:为y的正方向,屏幕最上到最下可划分480等份(3.5寸屏).
坐标是以点作为依据的.
6.Center
center(中心点)是个结构体包含两部分x和y.另center和frame有着密切的联系.
center.x = frame.origin.x + frame.size.width / 2;
center.y = frame.origin.y + frame.size.height / 2;
7.bounds
bounds(边界)是一个CGRect的结构体变量
当一个view设置bounds时,会把自己当成一个容器,定义自己的边界的大小以及左上角的初始坐标.
initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible];
一.UIWidow
1.如何创建window
在创建window的时候,需要制定window的大侠,通常window的大小(frame)与屏幕(UIScreen)大小一致.
示例代码:
self.window = [ [UIwindow alloc] initWithFrame:[ [UIScreen mainScreen] bounds] ]; 二.UIView
1.什么是UIview
view(视图):代表屏幕上的一个矩形区域,不同的空间代表不同种类的view.
2.如何创建View
创建步骤:
①.开辟空间并初始化视图(初始化时,给出视图的位置和大小);
②.对试图做一些设置;
③.将视图添加到window上进行显示;
④.释放视图对象
3,试图创建代码:
UIView *redView = [ [UIView alloc] initWithFram:CGRectMake(100,100,120,100)];
redView,backgroundColor = [UIColor redColor] ;
[self.window addSubvierw:redView];
[redView release];
4.frame
frame是view的重要属性是我们做视图布局的关键,他决定了视图的大小和位置.
frame是一个结构体,包含两部分origin和size两部分.
size也是一个结构体,同样包含两部分width和height;
origin也是一个结构体,包含两部分x和y.
5.IOS坐标系
iOS提供了用于布局的平面坐标系.左上角为坐标的原点.
水平向右:为x的正方向.屏幕最左到最右可划分320等分.
垂直向下:为y的正方向,屏幕最上到最下可划分480等份(3.5寸屏).
坐标是以点作为依据的.
6.Center
center(中心点)是个结构体包含两部分x和y.另center和frame有着密切的联系.
center.x = frame.origin.x + frame.size.width / 2;
center.y = frame.origin.y + frame.size.height / 2;
7.bounds
bounds(边界)是一个CGRect的结构体变量
当一个view设置bounds时,会把自己当成一个容器,定义自己的边界的大小以及左上角的初始坐标.
8.bounds、frame和center的关系
9.添加视图
UIView中addSubview:方法可以添加子视图,对于同一个视图的所有子视图来讲,后添加的子视图会把已添加的子视图覆盖在下面.
其他方法添加子视图:
方法名 | 描述 | ||
inseSubview:atIndex | 在指定的index处插入子视图 | ||
insertSubview:aboveSubview | 在指定的子视图上添加子视图 | ||
insertSubview:belowSubview | 在指定的子视图下添加子视图 |
10.管理视图层次
方法名 | 描述 |
bringSubviewToFront | 把指定视图移到最前面 |
sendSubviewToBack | 把指定视图移到最后面 |
exchangeSubviewAtIndex:withSubviewAtIndex | 交换两个指定索引位置的子视图 |
removeFromSubview | 把reciever从父视图上移除 |
11.视图的重要属性
代码:
<span style="font-size:18px;"> //UIWindow
//UIScreen mainScreen].bounds 能够获取屏幕的尺寸
//给谁加颜色就在谁后面加ba ckgroundColor,其中的颜色可以用便利构造器设置RGB值(如:colorWithRed:251/255.0 green:41/255.0 blue:61/255.0 alpha:1)
self.window = [[UIWindow alloc]</span><pre name="code" class="objc"><span style="font-size:18px;">// UIView
//父视图和子视图(管理视图的层次)
/*
//父视图和子视图 (子视图的原点是以父视图原点而定,换句话说就是子视图是以父视图的bounds为参照的)
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 200, 200)];
view.backgroundColor = [UIColor cyanColor];
[self.window addSubview:view];
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 100, 100)];
view1.backgroundColor = [UIColor redColor];
[view addSubview:view1];
UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 50, 50)];
view2.backgroundColor = [UIColor blackColor];
[view addSubview:view2];
[view bringSubviewToFront:view1];
[view bringSubviewToFront:view2];
[view sendSubviewToBack:view2];
[view sendSubviewToBack:view1];
//把父视图上的某个子视图放到所有子视图的最上面
// [self.window bringSubviewToFront:view1];
//把父视图上的某个子视图放到所有子视图的最下面
// [self.window sendSubviewToBack:view1];
//交换两个子视图的层次关系(同一个父视图上的子视图)
[view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
[view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
//从父视图上移除某个子视图
[view2 removeFromSuperview];
//hidden:隐藏视图
view1.hidden = YES; //隐藏视图
view1.hidden = NO; //显示视图
//alpha(透明度):从0-1,0的透明度最高,父视图设置了透明度,它上面的子视图就有了相同的透明度.
view1.alpha = 0;
view1.alpha = 1;
view.alpha = 1;
//superView(父视图):找到某个子视图的父视图,其返回值是一个UIView
[view1 superview].backgroundColor = [UIColor grayColor];
//subViews:找到某个父视图的所有子视图,该方法的返回值是一个数组
// ((UIView *)([view subviews][0])).backgroundColor = [UIColor greenColor];
//tag:在一个工程里tag的值是唯一的.(我们从101开始往后设置)
view1.tag = 101;
[view viewWithTag:101].backgroundColor = [UIColor orangeColor];
*/
/*
//往一个视图上添加子视图
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
view1.backgroundColor = [UIColor cyanColor];
[self.window addSubview:view1];
UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 50, 50)];
view2.backgroundColor = [UIColor blackColor];
[self.window addSubview:view2];
UIView *view3 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 80, 80)];
view3.backgroundColor = [UIColor redColor];
[self.window addSubview:view3];
//调整子视图的位置
// [self.window insertSubview:view3 aboveSubview:view1];
//Index从零开始,占位置
// [self.window insertSubview:view3 atIndex:1];
[self.window insertSubview:view3 belowSubview:view2];
// NSLog(@"%f %f",view1.center.x,view1.center.y);
//frame和bounds
NSLog(@"f %f",view1.frame.origin.x);
NSLog(@"b %f",view1.bounds.origin.x);
NSLog(@"f %f",view1.frame.origin.y);
NSLog(@"b %f",view1.bounds.origin.y);
NSLog(@"f %f",view1.frame.size.width);
NSLog(@"b %f",view1.bounds.size.width);
NSLog(@"f %f",view1.frame.size.height);
NSLog(@"b %f",view1.bounds.size.height);
*/
//创建一个view视图
/*
//以下三步就是创建一个view并显示的代码
// UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, 100, 100, 100)];
// view.backgroundColor = [UIColor cyanColor];
// //添加子视图
// [self.window addSubview:view];
//创建四个视图 两行两列并对齐
//view1
UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(10, 100, 60, 30)];
view1.backgroundColor = [UIColor redColor];
[self.window addSubview:view1];
//view2
UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(view1.frame.origin.x + view1.frame.size.width + SPACE,view1.frame.origin.y, view1.frame.size.width,view1.frame.size.height)];
view2.backgroundColor = [UIColor grayColor];
[self.window addSubview:view2];
//view3
UIView *view3 = [[UIView alloc]initWithFrame:CGRectMake(view1.frame.origin.x, view1.frame.origin.y + view1.frame.size.height + SPACE1, view1.frame.size.width, view1.frame.size.height)];
view3.backgroundColor = [UIColor purpleColor];
[self.window addSubview:view3 ];
//view4
UIView *view4 = [[UIView alloc]initWithFrame:CGRectMake(view2.frame.origin.x, 200, 60, 30)];
view4.backgroundColor = [UIColor cyanColor];
[self.window addSubview:view4];
//view5
UIView *view5 = [[UIView alloc ]initWithFrame:CGRectMake(10, 200, 60, 30)];
view5.backgroundColor = [UIColor magentaColor];
[self.window addSubview:view5];
//view6
UIView *view6 = [[UIView alloc]initWithFrame:CGRectMake(100, 250, 60, 30)];
view6.backgroundColor = [UIColor blueColor];
[self.window addSubview:view6];
//view7
UIView *view7 = [[UIView alloc]initWithFrame:CGRectMake(100, 300, 60, 30)];
view7.backgroundColor = [UIColor brownColor];
[self.window addSubview:view7];
//view8
UIView *view8 = [[UIView alloc]initWithFrame:CGRectMake(10, 300, 60, 30)];
view8.backgroundColor = [UIColor blueColor];
[self.window addSubview:view8];
//frame是视图的属性 frame含有origin和size属性,origin含有x和y两个属性,size含有width和height两个属性
</span>
initWithFrame:[UIScreen mainScreen].bounds];
<span style="font-size:18px;">// UILabel:用于显示文本
/*
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100,200, 300)];
label.backgroundColor = [UIColor cyanColor];
label.text = @"这玩意有毒啊hadisujklmoiaodkls;qmopasdl;fqraosdlfjamsdkofjaiwoerjmon";
label.font = [UIFont systemFontOfSize:20];//设置字体,系统默认字体13
label.textColor = [UIColor redColor];
label.numberOfLines = 0;//当numberOfLines为0时会自动换行
label.lineBreakMode = NSLineBreakByWordWrapping ;
//设置阴影的两个方法(shadowColor设置阴影的颜色,shadowOffset设置阴影的偏移量)
label.shadowColor = [UIColor blueColor];
label.shadowOffset = CGSizeMake(0, 0);
//对齐方式(有三种:左对齐、右对齐和居中对齐)
label.textAlignment = NSTextAlignmentCenter;
// label.hidden = YES;
//设置透明度
label.alpha = 1;
[self.window addSubview:label];
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(120, 120,200, 300)];
view.backgroundColor = [UIColor blueColor];
view.alpha = 0.5;
[self.window addSubview: view];
*/</span>
self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible];