2012-06-05 27 views
24

Klavyenin gizlendiği, klavyenin gizlendiği ve gösterilmesinin ardından, klavyenin gizlendiğini kontrol etmem gerekiyor. IOS'ta klavyeyi gizlediğinde hangi olay tetiklenir? Teşekkür ederizKlavye gizlendiğinde iOS olayı

+0

http://developer.apple.com/library/ios/search /? q = klavye + gizlemek [ipad klavyenin nasıl gizlendiğini] –

+0

olası kopyası (http://stackoverflow.com/questions/7912246/ipad-how-to-know-keyboard-has-been-hidden) –

cevap

56

Var Kullanımı aşağıdaki

//UIKeyboardDidHideNotification when keyboard is fully hidden 
//name:UIKeyboardWillHideNotification when keyboard is going to be hidden 

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(onKeyboardHide:) name:UIKeyboardWillHideNotification object:nil]; 

Ve sen gör sonra, kullanıcı basın Bitti düğmesini tıklayarak, UITextFieldDelegate protokol kabul zorunda bilmek istiyorsanız onKeyboardHide

-(void)onKeyboardHide:(NSNotification *)notification 
{ 
    //keyboard will hide 
} 
+1

Bu, klavyenin tamamen gizlendiği zaman işten çıkarma anında tetiklenir. –

+2

evet, doğru, tamamen gizli bildirim kullanımı için lütfen güncelleştirilmiş cevabı kontrol edin 'UIKeyboardDidHideNotification' –

5

UIKeyboardWillHideNotification dinleyebilir, klavye kapatıldığında gönderilir.

+7

Kesin olması için, bildirim klavyenin işten atılmadan ÖNCE gönderilir. –

+0

@Henri, doğru ... şu an bununla uğraşırken. – Morkrom

3

denetleyici, bu yöntemi uygular:

Swift 3:

Klavye gösterilir veya saklandığını zaman sadece bilmek istiyorsanız

, kullandığınız bir Notification:

Swift 3:

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(_:)), name: .UIKeyboardWillShow , object: nil) 

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide(_:)), name: .UIKeyboardWillHide , object: nil) 

func keyboardWillShow(_ notification: NSNotification) { 
    print("keyboard will show!") 

    // To obtain the size of the keyboard: 
    let keyboardSize:CGSize = (notification.userInfo![UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue.size 

} 

func keyboardWillHide(_ notification: NSNotification) { 
    print("Keyboard will hide!") 
} 
İlgili konular