1.UI的定义
UI:User Inerface 用户界面
2.UIWindow
iOS 中,使用UIWindow类来表示窗口,通常一个应用程序只创建一个UIWindow对象,window的作用就是将内容呈现给用户
3.创建一个UIWindow,与当前屏幕同样大小
//initWithFrame 初始化屏幕大小
self.window=[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
ps:创建类文件的快捷键:com+N
4.UIView
View:字面的意思是视图,表示ios手机上的一块矩形的区域。
ios用UIView来表示视图,用来呈现用户所看到的东西
注意:ios中有些可见的控件都是UIView或者是UIView的子类
5.创建一个UIView (视图)
//initWithFrame 初始化view大小
UIView*view=[UIViewalloc]initWithFrame:CGRectMake(100,100,120,200)];
//将视图加到屏幕视图上
[self.window addSubview view]
(1)frame: 是view的属性,决定了视图的大小和位置,指的是视图相对于当前父视图的位置以及大小
补充:
ios 坐标系:
平面坐标系:左上角为坐标系的原点
水平向右是x轴正方向
竖直往下是y轴的正方向
不同手机ios屏幕的大小:
iPhone4s: 320*480
iPhone5/5c/5s: 320*568
iPhone6: 375*667
iPhone6 plus:414*736
看到一篇比较好的适配文章:
http://www.360doc.com/content/14/1119/10/19175681_426342465.shtml
(2)center:view的中点坐标
center是一个结构体 包含两部分:x和y
center也是针对父视图而言的
center和frame的关系:
center.x = frame.origin.x + frame.size.width/2;
center.y = frame.origin.y + frame.size.height/2;
(3)bounds:
边界 是view的属性
用于定义自己的边界
是相对于视图本身而言的,会把本身当成一个容器,自身的左上角为坐标的原点
6.UIView的方法:
addSubview:可以添加子视图
注:后添加上去的视图会覆盖已经加上的视图
insertSubview:atIndex:向指定位置插入子视图
insertSubview:aboveSubview:在指定视图上添加 (参数都是视图对象)
insertSubview:belowSubview:在指定的视图下添加 (参数都是视图对象)
bringSubviewToFront:把指定视图移动到最前边(参数为视图对象)
sendSubviewToBack:把指定的视图移动到最后边
exchangeSubviewAtIndex:withSubviewAtIndex:交换两个指定索引位置的视图
removeFromSuperview 参数在前边,从父视图中移除出去
UIView是一些常用控件的父视图,比如:UIButton UILabe UIImage等
这些视图都继承自父类UIView他们有一些通用 的属性:
hidden: 是否显示
alpha: 透明度(0-1)
superview: 获取父视图
subviews:获取所有子视图 ,结果是一个数组
tag:视图的唯一标示 通常是父视图通过 viewWithTag方法取出
7.UIView的简单动画
//动画开始
[UIView beginAnimations:nil context:nil];
//设置动画时序的时间
[UIView setAnimationDuration:3.0f];
//动画的最终结果
[self.window viewWithTag:1].frame=CGRectMake(10, 400, 100, 100);
//对view进行移动
[self.window viewWithTag:1].alpha=0;//设置透明度
//提交动画
[UIView commitAnimations];
动画的代码块
[UIView animateWithDuration:2.0 animations:^{
showlab.alpha=0;
} completion:^(BOOL finished) {
[showlab removeFromSuperview];
}];