UIView
屏幕上能看得见摸得着的东西就是UIView,比如屏幕上的按钮、文字、图片
一般翻译叫做:视图\控件\组件
UIButton、UILabel、UITextField都继承自UIView
每一个UIView都是一个容器,能容纳其他UIView(比如右图中的整个键盘是一个UIView,里面容纳很多小格子的数字UIView)
UIView的常见属性
@property(nonatomic,readonly)UIView*superview;获得自己的父控件对象
@property(nonatomic,readonly,copy)NSArray*subviews;获得自己的所有子控件对象
@property(nonatomic)NSIntegertag;控件的ID\标识,父控件可以通过tag来找到对应的子控件
@property(nonatomic)CGAffineTransformtransform;控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)清空之前设置的transform属性view.transform=CGAffineTransformIdentity 其他见0323-05
@property(nonatomic)CGRectframe;控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)//frame的缺点,父控件改尺寸,子控件尺寸不会随之变化
@property(nonatomic)CGRectbounds;控件所在矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x\y一般为0)
@property(nonatomic)CGPointcenter;控件中点的位置(以父控件的左上角为坐标原点)
UIView的常见类方法
[UIViewbeginAnimations:nilcontext:nil];
/**需要执行动画的代码**/ //头尾式
[UIViewcommitAnimations];
[UIViewanimateWithDuration:0.5animations:^{
/**需要执行动画的代码**///Block式
}];
UIViewController
每当显示一个新界面时,首先会创建一个新的UIViewController对象,然后创建一个对应的全屏UIView,UIViewController负责管理这个UIView
UIViewController就是UIView的大管家,负责创建、显示、销毁UIView,负责监听UIView内部的事件,负责处理UIView与用户的交互
UIViewController内部有个UIView属性,就是它负责管理的UIView对象:
@property(nonatomic,retain)UIView*view;
//self.view 常用-addSubview方法来添加子对象(控件) -viewremoveFromSuperview从父控件中移除
-(UIView*)viewWithTag:(NSInteger)tag;根据一个tag标识找出对应的控件(一般都是子控件)
imageView.frame = (CGRect){CGPiontZero,image.size};