UIView
屏幕上能看得見摸得著的東西就是UIView,比如屏幕上的按鈕、文字、圖片
一般翻譯叫做:視圖\控件\組件
UIButton、UILabel、UITextField都繼承自UIView
每一個UIView都是一個容器,能容納其他UIView(比如右圖中的整個鍵盤是一個UIView,里面容納很多小格子的數(shù)字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];
/**需要執(zhí)行動畫的代碼**/ //頭尾式
[UIViewcommitAnimations];
[UIViewanimateWithDuration:0.5animations:^{
/**需要執(zhí)行動畫的代碼**///Block式
}];
UIViewController
每當顯示一個新界面時,首先會創(chuàng)建一個新的UIViewController對象,然后創(chuàng)建一個對應的全屏UIView,UIViewController負責管理這個UIView
UIViewController就是UIView的大管家,負責創(chuàng)建、顯示、銷毀UIView,負責監(jiān)聽UIView內(nèi)部的事件,負責處理UIView與用戶的交互
UIViewController內(nèi)部有個UIView屬性,就是它負責管理的UIView對象:
@property(nonatomic,retain)UIView*view;
//self.view ? 常用-addSubview方法來添加子對象(控件) ?-viewremoveFromSuperview從父控件中移除
-(UIView*)viewWithTag:(NSInteger)tag;根據(jù)一個tag標識找出對應的控件(一般都是子控件)
imageView.frame = (CGRect){CGPiontZero,image.size};