有關(guān)鍵盤的通知:
UIKeyboardWillShowNotification
當(dāng)鍵盤即將要顯示的時(shí)候?qū)?huì)發(fā)出這個(gè)通知。這個(gè)通知包含了用戶信息庫(kù),庫(kù)里面包括了鍵盤的各種 信息,鍵盤將以動(dòng)畫的形式顯示在屏幕上闪湾。
UIKeyboardDidShowNotification
當(dāng)鍵盤顯示在屏幕上時(shí)將發(fā)出這個(gè)通知。
UIKeyboardWillHideNotification
當(dāng)鍵盤將要從屏幕上移除時(shí)將會(huì)發(fā)出此通知捷雕。通知里包含了用戶信息庫(kù),庫(kù)里包括了各種關(guān)于鍵盤信 息的詳細(xì)信息,當(dāng)鍵盤隱藏時(shí)的動(dòng)畫,動(dòng)畫的持續(xù)時(shí)間,等等椒丧。
UIKeyboardDidHideNotification當(dāng)鍵盤完全隱藏后將發(fā)出此通知壹甥。
UIKeyboardWillChangeFrameNotification:鍵盤發(fā)生變化時(shí)(出現(xiàn)或者消失)
#用法舉例:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
對(duì)應(yīng)的監(jiān)聽方法:
-(void)keyboardWillChangeFrame:(NSNotification *)notic
{
KDLOG(@"notic.userInfo)===%@",notic.userInfo);
}
#輸出結(jié)果為
**notic.userInfo)==={**
** UIKeyboardAnimationCurveUserInfoKey = 7;**
** UIKeyboardAnimationDurationUserInfoKey = "0.25";**
** UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 253}}";**
** UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 694.5}";**
** UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 441.5}";**
** UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 568}, {320, 253}}";**
** UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 315}, {320, 253}}";**
** UIKeyboardIsLocalUserInfoKey = 1;**
**}**
#參數(shù)解釋:
UIKeyboardAnimationCurveUserInfoKey:
這個(gè)關(guān)鍵字的值指明了動(dòng)畫的類型,用來顯示和隱藏鍵盤。這個(gè)關(guān)鍵字包含了一個(gè) NSNumber 類型的值, 此類型包含了一個(gè)NSUInteger 類型無符號(hào)整數(shù)
UIKeyboardAnimationDurationUserInfoKey:
這個(gè)鍵值指明了鍵盤顯示或隱藏的動(dòng)畫所用的時(shí)間壶熏。這個(gè)鍵包含一個(gè) NSNumber 類型的值,此類包含一個(gè) double 類型的雙字節(jié)值句柠。
UIKeyboardFrameBeginUserInfoKey:
這個(gè)鍵值指明了鍵盤在動(dòng)畫之前的框架。假如鍵盤將要顯示時(shí),在顯示之前將這個(gè)框架傳遞給這個(gè)動(dòng) 畫棒假。假如鍵盤已經(jīng)顯示了并即將要隱藏時(shí),這個(gè)框架將會(huì)傳遞給這個(gè)隱藏動(dòng)畫,在鍵盤消失之前溯职。這個(gè)鍵包含 了一個(gè) CGRect 類型的值。
UIKeyboardFrameEndUserInfoKey:
這個(gè)鍵值指明了動(dòng)畫完成后的鍵盤框架帽哑。假如鍵盤即將要顯示時(shí),這個(gè)框架將會(huì)在鍵盤完全顯示后傳遞給鍵盤谜酒。。假如鍵盤已經(jīng)完全顯示,而且將要隱藏時(shí),在完全隱藏后這個(gè)框架將會(huì)傳遞給鍵盤妻枕。這個(gè)鍵值包 含了一個(gè) CGRect 類型的值僻族。
鍵盤出現(xiàn)或者消失的時(shí)候拖帶效果(放在監(jiān)聽鍵盤通知UIKeyboardWillChangeFrameNotification的監(jiān)聽方法中)。
// 約束動(dòng)畫
[UIView animateWithDuration:duration animations:^{
[self.view layoutIfNeeded];
}];
參考鏈接:監(jiān)聽和響應(yīng)鍵盤通知
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者