一、鍵盤通知
我們經常需要在鍵盤彈出或者隱藏的時候做一些特定的操作,因此需要監聽鍵盤的狀態
鍵盤狀態改變的時候,系統會發出一些特定的通知
uikeyboardwillshownotification // 鍵盤即將顯示
uikeyboarddidshownotification // 鍵盤顯示完畢
uikeyboardwillhidenotification // 鍵盤即將隱藏
uikeyboarddidhidenotification // 鍵盤隱藏完畢
uikeyboardwillchangeframenotification // 鍵盤的位置尺寸即將發生改變
uikeyboarddidchangeframenotification // 鍵盤的位置尺寸改變完畢
系統發出鍵盤通知時,會附帶一下跟鍵盤有關的額外資訊(字典),字典常見的key如下:
uikeyboardframebeginuserinfokey // 鍵盤剛開始的frame
uikeyboardframeenduserinfokey // 鍵盤最終的frame(動畫執行完畢後)
uikeyboardanimationdurationuserinfokey // 鍵盤動畫的時間
uikeyboardanimationcurveuserinfokey // 鍵盤動畫的執行節奏(快慢)
點選text field彈出文字時 讓text field始終跟著鍵盤移動,並且貼著鍵盤上面
正因為鍵盤狀態改變的時候,系統會發出一些特定的通知,我們可以監聽鍵盤的狀態
- (void實現方法:)viewdidload
- (void
)dealloc
/*userinfo是系統提供的字典屬性* * 監聽鍵盤的frame即將發生改變的時候呼叫 */
- (void)keyboardwillchange:(nsnotification *)note];}
//觸控螢幕退出鍵盤
- (void)touchesbegan:(nsset *)touches withevent:(uievent *)event
@property (nullable, readonly, copy) nsdictionary *userinfo;
列印的結果如下:
uikeyboardanimationcurveuserinfokey = 7; // 動畫曲線動畫
uikeyboardanimationdurationuserinfokey = "0.25"; // 動畫時間
uikeyboardboundsuserinfokey = "nsrect: , }"; // 鍵盤bounds
uikeyboardcenterbeginuserinfokey = "nspoint: "; // 開始鍵盤的居中位置
uikeyboardcenterenduserinfokey = "nspoint: "; // 結束鍵盤的居中位置
uikeyboardframebeginuserinfokey = "nsrect: , }";// 鍵盤開始彈出的frame
uikeyboardframeenduserinfokey = "nsrect: , }";// 退出鍵盤的frame
uikeyboardislocaluserinfokey = 1;
iOS開發UI篇 UIScrollView控制項介紹
ios開發ui篇 uiscrollview控制項介紹 一 知識點簡單介紹 1.uiscrollview控制項是什麼?1 移動裝置的螢幕 大 小是極其有限的,因此直接展 示在 使用者眼前的內容也相當有限 2 當展 示的內容較多,超出 乙個螢幕時,使用者可通過滾動 手勢來檢視螢幕以外的內容 3 普通的u...
ios開發 UI高階 HTTP協議
1 http協議的概念 全稱 超文字傳輸協議 瀏覽器和伺服器之間的通訊規則 http協議永遠都是客戶端發起請求,伺服器回送響應。2 響應包 請求包 客戶端傳送乙個http請求,是向伺服器提交了乙個http請求包 伺服器收到請求之後,向客戶端回應乙個http響應包 3 http請求常用方法 get 是...
ios開發 UI高階 間距設定
cell 之間的間隔 void setframe cgrect frame 如果我們發現設定了屬性的frame,但是屬性的frame並沒有變化,那麼就應該考慮系統的系統調節frame屬性 void awakefromnib 顯示高度等於顯示寬度乘以高度除以寬度 cgfloat picturew ma...