窗口 wiondow
窗口是管理并展示所有视图,所有的可视控件都在window上部署,一般情况下,一个应用程序只有一个窗户。
视图的基本概念
1.UIView表示屏幕上的一块矩形区域,负责渲染矩形区域中的内容,并且相应该区域内发生的触摸事件。
2.视图对象在MVC中属于视图部分
3.视图除了提供自己的内容之外,一个视图也可以作为容器。
4.当一个视图包含其他视图时,就在两个视图之间建立了一个父子关系。
5.除了显示内容和处理触摸事件之外,视图还可以用于管理一个或多个视图。
视图于界面控件的关系
1.界面控件都是见到视图上显示的,这样的视图就是父视图,控件就是子视图。
2.子视图 subview在显示到屏幕上是,是位于父视图superview上的
3.一个UIView只有一个superview-(UIView *)superview
4.一个UIView有零或多个subview-(NSArray )subview
视图的frame 和bounds
frame 视图在父视图坐标系统中的位置和大小。(参照点是父视图)
bounds 视图在自身坐标系统中的位置和大小(参照点是本身)
center 表示在父视图坐标系统中的已知中心点
使用拖拽产生的方法都是IBOutlet 开头的
这里要注意,在使用frame的时候,不能单独对frame的x,y值进行修改
此处输出的时frame上的数据
此处输出的bonds的数值
再此输出bonds的中心点的坐标
tag属性
1.UI的所有子类都有此属性,用户设置额外值,用于一方法被多个组件触发
2.Interaction
-user Interaction Enable 制定用户能否对此对象操作
-Multiple Touch 制定次控件能否接受多个触控
视图的代码创建
视图用代码来创建和普通类一样,先实例化一个对象
然后设置视图的属性
最后把视图添加到已显示的一个视图中
新建一个视图,在视图的方法中写以下程序。然后再viewdidload中调用此方法
分别创建红色视图和绿色视图,将绿色放在红色视图上,此处的放置是视图位置在其之上,而不是添加在视图容器上。最后创建一个黄色视图放置于绿色视图容器之中。(红色和绿色视图是addsubview在self.view容器中,而黄色视图是addsubview在greenview容器中)
通过给greenview视图添加一个标记数据100,此时,yellowview是greenview视图的子视图,因此获取到的yellowview的tag数据也就是我们设置的greenview的tag值。
把视图中的自动布局选项勾选去掉,这样才能正确的计算子视图的个数。
此时计算能够得到self.view的子视图个位为2,分别是redview 和greenview这两个子视图。 greenview上的子视图个数是1,这个子视图就是yellowview.
视图类的常用属性
userinteractionEnabled:能否与用户进行交互
autouresizingMask:当superview的位置大小发生改变时如果和调整自己
autouresizeSubviews:是否自动调整subviwes的大小,缺省为YES
视图的其他常用方法
initWithFrame :通过frame初始化视图
insertSubview:atIndex:插入视图后
insertSubview:aboveSubview:插入视图前
insertSubview:belowSubview:插入视图后
bringSubviewTofront:把子视图放到最前面
sendSubviewToBack:把子视图放到最后
exchangeSubviewAtIndex:withSubviewAtIndex:交换两个视图的前后顺序(必须是两个同一个父视图的子视图)
removeFromSuperview 从父视图中移除
UIView 的常见属性
Tag:标识视图的整型值
Center:中心点
Hidder: 隐藏
Superview: 父类
Subviews: 子类
Window: 窗口
Alpha: 透明度
backgroundColor: 背景颜色
UIButton的action-target事件响应
响应方式
UIControlEvenTouchDown;点击下去
UIControlEventTouchUpInside:点击上提
NSTimer
NSTimer的action-target事件响应