一周學習總結
學習了一周的OC--UI,内容的比較簡單,主要是各種控件有很多屬性,常用的屬性要記清楚,不常用的要知道如何找到,能看懂,知道怎麼回事(度娘)。
在這裡整理一下一周的學習内容
一、UiView
a.初始化方式:
initWithFrame:(CGRect)frame
b.frame:
frame就是一個矩形,該矩形就是一個結構體CGRect
CGrect: original 确定位置,包含x,y,左上點為坐标原點
size 确定大小,包含width,height
c.View的屬性
bounds:邊框,一個矩形(CGRect),改變bounds的orginal隻會影響該視圖上面子視圖的位置,不會影響吱聲在父視圖的位置。
center:視圖的中心點(CGPoint)
backgroundColor:視圖的背景顔色,屬性的傳回類型是UIColor,
UIColor方法:[UIColor colorWithRed:0~1 Green:0~1 Blue:0~1 alpha:0~1]
alpha:視圖的透明度
(BOOL)hidden:視圖是否隐藏
superView:得到該視圖的父視圖
subViews:得到所有子視圖,傳回NSArray
tag:視圖的标記,父視圖根據tag值得到特定子視圖
d.View的常用方法
1.添加子視圖
[view addSubview : subView];
2.從父視圖移除
[subView removeFromSuperView];
3.視圖的層級交換
[view exchangeSubviewAtIndex:<#(NSInteger)#> withSubviewAtIndex:<#(NSInteger)#>
二、UILabel
在Label上添加按鈕是不可點選的
a.初始化
initWithFrame:(CGRect)frame
b.屬性
1.text :呈現文字内容,傳回值NSString
2.textAlignment:水準對齊方式
3.font:文字屬性設定
4.textColor:文字的顔色
三、UIImageView
主要負責圖檔的展示
a.初始化
父類初始化:initWithFrame:(CGRect)frame
i自身初始化:nitWithImage:UIimage
UIImage:圖檔類型
b.屬性和方法
1.添加圖檔:[imageView setIamge:[UIImage imageNamed:@“圖檔名稱”]]
3.UIViewImage呈現動圖
a)為imageView添加一組圖檔
animationImages ,傳回值為數組,元素類型為UIImage
b)設定動畫時長
animationDuration,機關為秒
c)動畫開始和暫停
startAnimating
stopAnimating
d)動畫重複次數
animationRepeatCount
四、UIButton
button的父類為UIControl,UIControl的父類為UIView。本質也是View,更偏重使用者互動,而不是内容顯示。
a.初始化
buttonWithType:(枚舉值)UIButtonType...
b.方法
a)設定标題
[button setTitle:@“标題” forState:(枚舉值)UIControlState...]
其中UIControlStateSelected狀态需要button.selected屬性配合
UIControlState 的類型有常态Normal,高亮HightLighted比較常用
b)設定frame
沒有在初始化時設定,容易遺漏
button.frame = CGRectMake();
c)添加點選事件
[button addTarget:self action:@selector(btnAction:) forControlEnvents:(枚舉值)UIControlEventTouchUpInside(單擊)]
button的點選事件UIControlEventTouch類型很多,常用的單擊,輕按兩下,滑鼠離開,拖拽等等等。
五、UITextField
父類是UIControl,更偏重于和使用者互動
a.初始化
initWithFrame:
b.方法屬性
a)設定占位字元:placeHolder:傳回值為NSString
b)設定textField不能輸入:enabled
c)設定鍵盤樣式:keyboardType
d)自定義鍵盤樣式:InputView:傳回類型為UIView
e)獲得輸入的内容的屬性:text
f)回收鍵盤:[textField resignFirstResponder];
成為第一響應者:[textField becomeFirstRepsonder];
g)協定代理方法:UITextFieldDelegate
所有協定方法都是可選的
-(BOOL)textFieldShouldBeginEditing:(UITextField*)textField;//是否可以開始編輯
-(void)textFieldDidBeginEditing:(UITextField*);//已經進入編輯狀态
-(BOOL)textFieldShouldEndEditing:(UITextField*)textField;//是否可以結束編輯
-(void)textFieldDidEndEditing:(UITextField*)textField;//已經結束編輯狀态
-(BOOL)textFieldShouldReturn:(UITextField*)textField;//點選右下角return觸發
五、應用程式的啟動流程
—>main()
—>
UIApplicationMain(argc,argv,@“UIApplication”,NSStringFromClass([AppDelegate class]))
—>建立了整個應用程式對象,也就是UIAppcation對象
—>建立了Appdelegate對象,也就是整個應用程式代理對象
—>将應用程式的代理指定為AppDelegate對象(app.delegate = appDelegate),根據info.plist檔案配置整個應用程式
—>在didFinishLaunchingWithOperations代理方法中建立主視窗和根視圖控制器,如果還有其他必要設定,也可以寫在
六、ViewController的生命周期
loadView()加載視圖
ViewDidload()加載完畢
viewWillAppear()視圖即将出現
viewDidAppear()視圖已經出現
viewWillDisAppear()視圖即将消失
viewDidDisAppear()視圖已經消失
dealloc()銷毀