UIKeyboardWillHide не срабатывает

Я прочитал много постов здесь на эту тему, но я нене могу найти ответ на мой вопрос, так что, надеюсь, вы выиграетене надоедать о другом посте на UIK на доске :-)

На мой взгляд контроллерРеализация я добавилself в качестве наблюдателя для двух уведомленийUIKeyboardWillShowNotification а такжеUIKeyboardWillHideNotificationПроходя селекторыkeyboardWillShow: а такжеkeyboardWillHide: обрабатывать уведомления. Как я касаюсьUITextField,keyboardWillShow: метод вызывается, но когда я нажимаю "Готово" кнопка (которая отклоняет клавиатуру)keyboardWillHide: метод не вызывается.

Действительно я'хотел бы сделать мойUITextField показать клавиатуру с "скрыть кнопку " в правом нижнем углу клавиатуры, но я нене в состоянии найти правильный тип клавиатуры. Может быть, мне нужно установить текстовое поле retuntype в "...Готово", Таким образом, я увидел это "вернуть" ключ превращается в "сделанный".

Поэтому я установил панель инструментов, чтобы быть моимUITextFieldinputAccessoryView, так что теперь я могу показать стандартную клавиатуру с панелью инструментов выше с "Готово" кнопка. Когда пользователь касается этой кнопки, я скрываюresignFirstResponder метод.

Странно то, что когда я звонюresignFirstResponder,UIKeyboardWillHideNotification ISN»т отправил; По крайней мереkeyboardWillHide: метод не вызывается.

Что вы мне предлагаете? Я действительно хотел отобразить клавиатуру с маленькой кнопкой со стрелкой вниз, чтобы скрыть клавиатуру, но и это решение может быть правильным, но яЯ хотел бы изменить размер представления, и для этого мне нужен наблюдатель.UIKeyboardWillHideNotification

Большое спасибо за помощь ...

(ДОБАВЛЕНО :)

В :viewDidLoad

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(keyboardWillShow:)
                                             name:UIKeyboardWillShowNotification
                                           object:[[self view] window]];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(keyboardWillHide:)
                                             name:UIKeyboardWillHideNotification
                                           object:[[self view] window]];    

Я взял эти декларации от одного изтвой» пост :-) Но воля Шоу работает ...

Действие "Готово" кнопка, которая 'вUIToolbar тот's назначено бытьinputAccessoryView моего текстового поля:

-(void)keyboardDone {
    [msgTextField resignFirstResponder];

ЗАКРЫТО: ОК! Когда разработчик глуп ... это глупо :-) :-)

Это мой исправленный метод willHide:

-(void)keyboardWillHide:(NSNotification*)n {
    NSDictionary* userInfo;
    CGSize keyboardSize;
    CGRect viewFrame;

    /* This was the bad guy :) I forgot to delete it
     * after I previously copied the willShow method that
     * checks if keyboard is already shown (if so returns).
     *
     * if( keyboardIsShown )
     *   return;
     */
    userInfo = [n userInfo];
    keyboardSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
    viewFrame = [[self scrollView] frame];
    viewFrame.size.height += ( keyboardSize.height - TABBAR_HEIGHT );

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationBeginsFromCurrentState:YES];
    [UIView setAnimationDuration:0.5];
    [[self scrollView] setFrame:viewFrame];
    [UIView commitAnimations];

    keyboardIsShown = NO;
    NSLog(@"HIDE\n");
}

Прежде всего яЯ хотел бы поблагодарить вас всех за эту бесполезную работу по оказанию помощи мне. Я'Я хотел бы дать вам несколько очков, поэтому япопробую поднятьсяточка интереса " для каждого ответа, но мне нужно выбрать правильный ... сложная часть ... :-)

Простите еще раз ... Я действительно нене вижу оператор if () ...

Ответы на вопрос(5)

Ваш ответ на вопрос