UIView and UIViewController ?視圖和控制器

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};

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容