Отслеживание положения клавиатуры в iOS 5 с отсоединенной / разделенной клавиатурой - PullRequest
3 голосов
/ 19 марта 2012

У меня есть вид, который должен находиться точно над клавиатурой, но я не использую UITextView, поэтому я не могу использовать inputAccesoryView.

В любом случае, до iOS 5 у меня не было проблем, проблема идет с отсоединенной / разделенной клавиатурой. Теперь мне нужно прослушать изменения в кадре клавиатуры с помощью UIKeyboardWillChangeFrameNotification, поэтому я делаю

[[NSNotificationCenter defaultCenter] addObserver:self
                           selector:@selector(keyFrameChanged:) 
                               name:UIKeyboardWillChangeFrameNotification
                                   object:self.view.window];

Таким образом, после перемещения клавиатуры вызывается следующее

- (void) keyFrameChanged:(NSNotification *)notification
{
    NSDictionary* userInfo = [notification userInfo];  
    CGRect keyboardEndFrame;
    [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEndFrame];

    // Animate view with keyboardEndFrame data
}

Проблема в том, что в 99% случаев UIKeyboardFrameEndUserInfoKey возвращает значение NULL, поэтому я не имею понятия о положении клавиатуры.

Спасибо!

PS: Мне удалось прикрепить представление как inputAccesoryView, переопределив это свойство в подклассе моего UIResponder (больше не доступен только для чтения), но я все еще хочу знать, как отслеживать кадр клавиатуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...