UI day 1 UIView
2015-12-21 20:45
309 查看
1 .当应用程序加载完成的时候触发,此时如果你想让应用程序在加载的时候显示内容,就在该方法中写入要显示的内容
- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
#pragma mark self.window的认知
创建应用程序的窗口self.window是本应用窗口对象,主要作用将内容呈现给用户
UIScreen是个屏幕类
[UIScreen mainScreen]获取主屏幕
[[UIScreen mainScreen] bounds]]获取主屏幕的大小
self.window= [[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]]autorelease];
// Override point for customization after application launch.
//UIColor是个颜色类;设置self.window.backgroundColor的颜色
self.window.backgroundColor=
[UIColorwhiteColor];
//将self.window设置为应用的主屏幕,并显示出来,也就是可见
[self.windowmakeKeyAndVisible];
对于屏幕上看到的内容,都是UIView以及UIView的子类
UIView代表屏幕上的一块矩形区域
如果想在屏幕上绘制一个矩形,需要知道左上2的坐标(即使距离屏幕左上角(屏幕坐标系的原点),还有矩形的宽和高
/*
快速创建结构体变量
CGRect (位置,大小)
CERectMake();
CGPoint(点)
CGPointMake();
CGSize(大小)
CGSizeMake();
*/
2.创建一个UIView对象
步骤:
1.创建ULView对象
UIView*redView = [[UIViewalloc]initWithFrame:CGRectMake(50,100,100,100)];
3.修改视图的背景颜色,默认是透明的
redView.backgroundColor=
[UIColorredColor];
4.添加到父视图上
[self.window addSubview:redView];
2.释放所有权
[redViewrelease];
3.
UIView*greenView = [[UIViewalloc]initWithFrame:CGRectMake(50,200,100,100)];
greenView.backgroundColor= [UIColorredColor];
[self.window addSubview:greenView];
cView.alpha=0.8;//控制透明度
cView.hidden=
YES;//控制的显隐性
[greenViewrelease];
想查看屏幕大小不需要记忆,可以获取屏幕大小后打印即可,想查看不同屏幕大小时,只需要更改设备名称。
CGRect new = [[UIScreenmainScreen]bounds];
将结构体变量转为字符串对象输入
NSStringFromCGRect();
NSStringFromCGSize();
NSStringFromCGPoint();
NSLog(@"%@",NSStringFromCGRect(new));
4.UIView的一些重要属性
UIView的常见属性
(1)subViews:子视图,获取到一个视图的所有子视图,一个视图可以有多个子视图
(2)superview:父视图,获取到一个视图的父视图,一个视图只能有一个父视图
(3)Hidden显隐性,控制视图的显示或者隐藏;BOOL类型,默认值是No,显示视图
(4)alpha:透明度,透明度的范围:0.0~1.1之间,默认是1.0
(5)background,视图的背景颜色,颜色通过UIColor赋值
(6)tag值:标记,作为这个视图的唯一标示,整数值,一般都用在100以上
5.获取window上的所有子视图
UIWindow
NSArray*subArray =self.window.subviews;
NSLog(@"%@",subArray);
6.获取窗口的父视图
self.window没有父视图
UIView*father =self.window.superview;
NSLog(@"%@",father);
7.获取cView父视图
UIView*fatherView1 = cView.superview;
NSLog(@"===%@",fatherView1);
UIView
*m = aView.superview;
NSLog(@"======%@",m);
8.通过tag值获取视图
父视图可以通过viewWithTag方法拿到它身上的子视图
UIView*tagView = [self.windowviewWithTag:103];
NSLog(@"-----%@",tagView);
#pragma mark -在分组的基础上再加一条横线
#pragma mark通过调用方法展示self.window上的子视图
[self showViewUseTag:103];
<
14f3f
span style="color:#212121;">
//通过tag值获得子视图
- (void)showViewUseTag:(NSInteger)tag{
//通过tag值可以再其他的方法中拿到self.window上的子视图
UIView *view = [self.windowviewWithTag:tag];
view.backgroundColor= [UIColor redColor];
NSLog(@"mmmmm%@",view);
}
9.获取aview的方法
1.self.window + tag
UIView*aaView = [self.windowviewWithTag:101];
NSLog(@"======================%@",aaView);
2.通过subviews
UIView*AView =self.window.subviews[1];
NSLog(@"---------------%@",AView);
3.通过下标
UIView*AAView = [self.window.subviewsobjectAtIndex:1];
NSLog(@"+++++++++++++++%@",AAView);
4.通过tag值获得子视图;也就是调用方法
[selfMMViewUseTag:101];
- (void)MMViewUseTag:(NSInteger)aatag{
UIView
*aaaView = [self.windowviewWithTag:aatag];
NSLog(@"====================================%@",aaaView);
}
10.这是最简单的写法
- (void)dealloc
{
// [_window release];
// _window = nil;
self.window=nil;
[super
dealloc];
}
11.UIView的重量级属性
UIView的重量级属性:frame
center bounds
1.frame:包含(左上角的坐标以及size矩形区域的大小),主要用来控制一个视图的位置和大小,其中位置相对于父视图原点坐标的x轴和y轴距离
2.center:中心点,视图的中心点的坐标,相对于父视图坐标原点位置
center.x=frame.origin.x + frame.size.width/2
center.y=frame.origin.y + frame.size.height/2
center改变,frame也变;frame改变,center也变
3.bounds:边界,一个视图的边界,CGRect(origin,size),origin是矩形区域左上角相对于自身坐标系的原点位置,size是矩形区域的大小,一个视图创建出来后,默认bounds的origin的位置和自身视图的原点是重合的;bounds的(size)大小和frame的(size)大小是一样的;修改一个视图的bounds的origin(x,y)时候,视图的frame不变,centrer也不变;(只做了解)修改一个视图的size,frame变化,center不变
4.修改bounds的origin的影响的自身原点的坐标位置,也即是影响了自身子视图的位置
12.#pragma mark
修改一个视图frame
UIView*aView = [[UIViewalloc]initWithFrame:CGRectMake(60,184,200,200)];
定义一个矩形的结构体变量
CGRect
rect =
CGRectMake(100,100,200,200)
;
aView.frame
= rect;
aView.frame.origin.x = 100;视图的frame不能被单个修改,只能整体赋值
CGRect
rect1 = aView.frame;//先把frame取出来,赋到
rect1.origin.x=
100;
rect1.origin.y=
100;
aView.frame= rect1;
13.#pragma mark
修改一个视图的center
// aView.center.x = 100;视图的center不能被单个修改,只能整体赋值
CGPoint
center =
CGPointMake(100,100)
;
aView.center= center;
NSLog(@"====%@",NSStringFromCGPoint(aView.center));
NSLog(@"%@",NSStringFromCGRect(aView.frame));
14.#pragma mark
修改一个视图的bounds
aView.bounds=
CGRectMake(100,0,100,200);
NSLog(@"%@",NSStringFromCGRect(aView.bounds));
NSLog(@"====%@",NSStringFromCGPoint(aView.center));
NSLog(@"%@",NSStringFromCGRect(aView.frame));
addSubview:在父视图上添加子视图
15.insertSubview:A aboveSubvoew:B 在B视图上插入A视图
[self.windowinsertSubview:bViewaboveSubview:cView];
intserSubview:A beloSubview:B 在B视图下插入A视图
[self.windowinsertSubview:cViewbelowSubview:bView];
insertSubview:A atIndex:下标, 将A视图添加到指定位置
[self.windowinsertSubview:cViewatIndex:1];
调整视图关系的方法
bringSubviewToFront:A 将视图A调整到所有子视图的最前面
[self.windowbringSubviewToFront:aView];
sendSubviewToBack:将视图A调整到所有子视图的最后面
[self.windowsendSubviewToBack:aView];
exchangeSubviewAtIndex:下标1
withSubviewAtIndex:下标2交换两个指定位置的子视图
[self.window exchangeSubviewAtIndex:1withSubviewAtIndex:2];
removeFromSuperviewA视图从父视图上移除
[cView removeFromSuperview];
16.视图的层级关系
1.最后添加的子视图肯定在所有视图的最前面
2.子视图永远都在父视图的前面
3.子视图的添加是有顺序的
4.父视图通过subview数组管理所有的子视图
5.如果想调整视图之间的层级关系,需要通过父视图来调整
6.如果想从父视图上移除,使用将要移除的对象来调用方法
17.定时器
第一个参数:设置每过多长时间执行一次定时操作
第二个参数:有谁来执行操作
第三个参数:选择执行的操作
第四个参数:用户信息nil
第五个参数:是否需要重复定时器操作
[NSTimerscheduledTimerWithTimeInterval:0.5target:selfselector:@selector(printHello)userInfo:nilrepeats:YES];
self.window.backgroundColor=
[UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
self.window.backgroundColor=
[UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
#pragma mark
实现选择器中的方法
- (void)printHello{
NSLog(@"Hello");
}
- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
#pragma mark self.window的认知
创建应用程序的窗口self.window是本应用窗口对象,主要作用将内容呈现给用户
UIScreen是个屏幕类
[UIScreen mainScreen]获取主屏幕
[[UIScreen mainScreen] bounds]]获取主屏幕的大小
self.window= [[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]]autorelease];
// Override point for customization after application launch.
//UIColor是个颜色类;设置self.window.backgroundColor的颜色
self.window.backgroundColor=
[UIColorwhiteColor];
//将self.window设置为应用的主屏幕,并显示出来,也就是可见
[self.windowmakeKeyAndVisible];
对于屏幕上看到的内容,都是UIView以及UIView的子类
UIView代表屏幕上的一块矩形区域
如果想在屏幕上绘制一个矩形,需要知道左上2的坐标(即使距离屏幕左上角(屏幕坐标系的原点),还有矩形的宽和高
/*
快速创建结构体变量
CGRect (位置,大小)
CERectMake();
CGPoint(点)
CGPointMake();
CGSize(大小)
CGSizeMake();
*/
2.创建一个UIView对象
步骤:
1.创建ULView对象
UIView*redView = [[UIViewalloc]initWithFrame:CGRectMake(50,100,100,100)];
3.修改视图的背景颜色,默认是透明的
redView.backgroundColor=
[UIColorredColor];
4.添加到父视图上
[self.window addSubview:redView];
2.释放所有权
[redViewrelease];
3.
UIView*greenView = [[UIViewalloc]initWithFrame:CGRectMake(50,200,100,100)];
greenView.backgroundColor= [UIColorredColor];
[self.window addSubview:greenView];
cView.alpha=0.8;//控制透明度
cView.hidden=
YES;//控制的显隐性
[greenViewrelease];
想查看屏幕大小不需要记忆,可以获取屏幕大小后打印即可,想查看不同屏幕大小时,只需要更改设备名称。
CGRect new = [[UIScreenmainScreen]bounds];
将结构体变量转为字符串对象输入
NSStringFromCGRect();
NSStringFromCGSize();
NSStringFromCGPoint();
NSLog(@"%@",NSStringFromCGRect(new));
4.UIView的一些重要属性
UIView的常见属性
(1)subViews:子视图,获取到一个视图的所有子视图,一个视图可以有多个子视图
(2)superview:父视图,获取到一个视图的父视图,一个视图只能有一个父视图
(3)Hidden显隐性,控制视图的显示或者隐藏;BOOL类型,默认值是No,显示视图
(4)alpha:透明度,透明度的范围:0.0~1.1之间,默认是1.0
(5)background,视图的背景颜色,颜色通过UIColor赋值
(6)tag值:标记,作为这个视图的唯一标示,整数值,一般都用在100以上
5.获取window上的所有子视图
UIWindow
NSArray*subArray =self.window.subviews;
NSLog(@"%@",subArray);
6.获取窗口的父视图
self.window没有父视图
UIView*father =self.window.superview;
NSLog(@"%@",father);
7.获取cView父视图
UIView*fatherView1 = cView.superview;
NSLog(@"===%@",fatherView1);
UIView
*m = aView.superview;
NSLog(@"======%@",m);
8.通过tag值获取视图
父视图可以通过viewWithTag方法拿到它身上的子视图
UIView*tagView = [self.windowviewWithTag:103];
NSLog(@"-----%@",tagView);
#pragma mark -在分组的基础上再加一条横线
#pragma mark通过调用方法展示self.window上的子视图
[self showViewUseTag:103];
<
14f3f
span style="color:#212121;">
//通过tag值获得子视图
- (void)showViewUseTag:(NSInteger)tag{
//通过tag值可以再其他的方法中拿到self.window上的子视图
UIView *view = [self.windowviewWithTag:tag];
view.backgroundColor= [UIColor redColor];
NSLog(@"mmmmm%@",view);
}
9.获取aview的方法
1.self.window + tag
UIView*aaView = [self.windowviewWithTag:101];
NSLog(@"======================%@",aaView);
2.通过subviews
UIView*AView =self.window.subviews[1];
NSLog(@"---------------%@",AView);
3.通过下标
UIView*AAView = [self.window.subviewsobjectAtIndex:1];
NSLog(@"+++++++++++++++%@",AAView);
4.通过tag值获得子视图;也就是调用方法
[selfMMViewUseTag:101];
- (void)MMViewUseTag:(NSInteger)aatag{
UIView
*aaaView = [self.windowviewWithTag:aatag];
NSLog(@"====================================%@",aaaView);
}
10.这是最简单的写法
- (void)dealloc
{
// [_window release];
// _window = nil;
self.window=nil;
[super
dealloc];
}
11.UIView的重量级属性
UIView的重量级属性:frame
center bounds
1.frame:包含(左上角的坐标以及size矩形区域的大小),主要用来控制一个视图的位置和大小,其中位置相对于父视图原点坐标的x轴和y轴距离
2.center:中心点,视图的中心点的坐标,相对于父视图坐标原点位置
center.x=frame.origin.x + frame.size.width/2
center.y=frame.origin.y + frame.size.height/2
center改变,frame也变;frame改变,center也变
3.bounds:边界,一个视图的边界,CGRect(origin,size),origin是矩形区域左上角相对于自身坐标系的原点位置,size是矩形区域的大小,一个视图创建出来后,默认bounds的origin的位置和自身视图的原点是重合的;bounds的(size)大小和frame的(size)大小是一样的;修改一个视图的bounds的origin(x,y)时候,视图的frame不变,centrer也不变;(只做了解)修改一个视图的size,frame变化,center不变
4.修改bounds的origin的影响的自身原点的坐标位置,也即是影响了自身子视图的位置
12.#pragma mark
修改一个视图frame
UIView*aView = [[UIViewalloc]initWithFrame:CGRectMake(60,184,200,200)];
定义一个矩形的结构体变量
CGRect
rect =
CGRectMake(100,100,200,200)
;
aView.frame
= rect;
aView.frame.origin.x = 100;视图的frame不能被单个修改,只能整体赋值
CGRect
rect1 = aView.frame;//先把frame取出来,赋到
rect1.origin.x=
100;
rect1.origin.y=
100;
aView.frame= rect1;
13.#pragma mark
修改一个视图的center
// aView.center.x = 100;视图的center不能被单个修改,只能整体赋值
CGPoint
center =
CGPointMake(100,100)
;
aView.center= center;
NSLog(@"====%@",NSStringFromCGPoint(aView.center));
NSLog(@"%@",NSStringFromCGRect(aView.frame));
14.#pragma mark
修改一个视图的bounds
aView.bounds=
CGRectMake(100,0,100,200);
NSLog(@"%@",NSStringFromCGRect(aView.bounds));
NSLog(@"====%@",NSStringFromCGPoint(aView.center));
NSLog(@"%@",NSStringFromCGRect(aView.frame));
addSubview:在父视图上添加子视图
15.insertSubview:A aboveSubvoew:B 在B视图上插入A视图
[self.windowinsertSubview:bViewaboveSubview:cView];
intserSubview:A beloSubview:B 在B视图下插入A视图
[self.windowinsertSubview:cViewbelowSubview:bView];
insertSubview:A atIndex:下标, 将A视图添加到指定位置
[self.windowinsertSubview:cViewatIndex:1];
调整视图关系的方法
bringSubviewToFront:A 将视图A调整到所有子视图的最前面
[self.windowbringSubviewToFront:aView];
sendSubviewToBack:将视图A调整到所有子视图的最后面
[self.windowsendSubviewToBack:aView];
exchangeSubviewAtIndex:下标1
withSubviewAtIndex:下标2交换两个指定位置的子视图
[self.window exchangeSubviewAtIndex:1withSubviewAtIndex:2];
removeFromSuperviewA视图从父视图上移除
[cView removeFromSuperview];
16.视图的层级关系
1.最后添加的子视图肯定在所有视图的最前面
2.子视图永远都在父视图的前面
3.子视图的添加是有顺序的
4.父视图通过subview数组管理所有的子视图
5.如果想调整视图之间的层级关系,需要通过父视图来调整
6.如果想从父视图上移除,使用将要移除的对象来调用方法
17.定时器
第一个参数:设置每过多长时间执行一次定时操作
第二个参数:有谁来执行操作
第三个参数:选择执行的操作
第四个参数:用户信息nil
第五个参数:是否需要重复定时器操作
[NSTimerscheduledTimerWithTimeInterval:0.5target:selfselector:@selector(printHello)userInfo:nilrepeats:YES];
self.window.backgroundColor=
[UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
self.window.backgroundColor=
[UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
#pragma mark
实现选择器中的方法
- (void)printHello{
NSLog(@"Hello");
}
相关文章推荐
- GUI - Web前端开发框架
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- 为Yahoo! UI Extensions Grid增加内置的可编辑器
- Cocos2d-x UI开发之文本类使用实例
- 谈谈对jquery ui tabs 的理解
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
- UI Events 用户界面事件
- jquery UI Datepicker时间控件的使用方法(基础版)
- 基于jQuery UI CSS Framework开发Widget的经验
- jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
- jQuery UI设置固定日期选择特效代码分享
- Jquery ajax 同步阻塞引起的UI线程阻塞问题
- jQuery UI的Dialog无法提交问题的解决方法
- jQuery ui实现动感的圆角渐变网站导航菜单效果代码
- jquery UI Datepicker时间控件的使用方法(终结版)
- jquery UI Datepicker时间控件的使用方法(加强版)
- 关于jQuery UI 使用心得及技巧
- jQuery ui 1.7更新小结
- 从零开始学习jQuery (十) jQueryUI常用功能实战
- jquery ui对话框实例代码