UIView 是一個容器, 可以添加別的控件
view A 添加到 view B 上, A 是 B 的子view , B 是 A 的父view
每一個viewController 裡 都會默認有一個view 屬性
控制器用來管理view的生命周期 : 什麼時候創建, 什麼時候銷毀
控制器用來處理用戶交互事件 (邏輯代碼要寫在控制器裡)
第一響應者: UITextField, 成為第一響應者 自動彈出鍵盤
回退鍵盤
撤銷第一響應者身份
[self.firstField resignFirstResponder];
調用view的endEditing:
[self.view endEditing:YES];
問題列表
1. 什麼是 IBAction IBOutlet
IBOutlet 用來連線 屬性
IBAction 用來連線 方法 , 有void
2. 為什麼要把屬性放到類擴展中
為了安全和封裝
3. 為什麼要使用weak屬性修飾
蘋果官方推薦
如果使用了strong 也是可以正常運行的
連線介紹
button 在使用連線 關聯 點擊方法的時候 , 如果要傳遞參數只能是button自己
type
id 默認
UIButton * 進行選擇
reason: '[<ViewController 0x7f8aa071dc50> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key tempButton.'
連線之後, 把屬性給刪除掉, 但是, 沒有在sb 中把連線給取消掉
reason: '-[ViewController clickButton2:]: unrecognized selector sent to instance 0x7fbb8b925220'
給按鈕關聯過方法之後, 把方法給刪除掉了, 沒有在sb 中把連線給取消掉
一個view 可以有多個子view
一個子view 只能有一個父view
UIView的常用屬性
subViews 查看view 的 子 view
superView 查看view 的 父 view
removeFromSuperview : 從 父 view 中刪除 子 view
addSubview : 為 view 添加 子 view