2013-06-19 3 views
4

Как обнаружить скрыть событие международной клавиатуры? UIKeyboardDidHideNotification, похоже, не срабатывает.Как обнаружить скрыть событие международной клавиатуры? iOS

Ниже приведенная ссылка не поможет.

detect the appear and disappear of international keyboard

ПОДРОБНЕЕ

Это, как я уведомление настройки для обоих UIKeyboardDidHideNotification и UIKeyboardDidShowNotification

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil]; 

-(void)keyboardDidShow:(NSNotification*)notification { 
    NSLog(@"keyboardDidShow"); 
} 
-(void)keyboardDidHide:(NSNotification*)notification { 
    NSLog(@"keyboardDidHide"); 
} 

keyboardDidShow срабатывает дважды. Во-первых, когда стандарт клавиатура выходит. Во-вторых, когда вызывается клавиатура international.

keyboardDidHide НЕ запускается, когда я скрываю международный клавиатура. Но это срабатывает, когда стандарт клавиатура скрыта.

Я что-то упустил?

+0

же к 'UIKeyboardWillHideNotification'? Как вы настроили свое уведомление? – Kjuly

+0

Похоже, вы можете попробовать с 'UIKeyboardWillHideNotification' вместо' UIKeyboardDidHideNotification'. – Kjuly

+0

Ney, я сделал. UIKeyboardWillHideNotification не работает. Но, очевидно, есть способ сделать это, потому что все основные приложения для обмена сообщениями могут обнаружить это, то есть отрегулировать видимую область, когда запускается международная клавиатура. Просто не уверен, как они это делают. – ngzhongcai

ответ

0

Вы не получаете уведомления, если пользователь меняет клавиатуру. Только если клавиатура появляется или исчезает.

Только решение, которое я знаю будет наблюдать или реагировать на изменения (Попробуйте КВО?) На

[UITextInputMode currentInputMode].primaryLanguage 

Смотрите также: Detecting current iPhone input language

+0

UIKeyboardDidChangeFrameNotification отлично работает для меня – ngzhongcai

+0

currentInputMode устарел в ios 7 – pickwick

+0

Существует недокументированное уведомление 'UIKeyboardLayoutDidChangedNotification' (sic), которое вы также можете попробовать прослушать. – Cocoanetics

Смежные вопросы