2013-08-25 2 views
0

Я хочу реализовать функцию, которая, когда я касаюсь вида таблицы, панель поиска в верхней части представления будет resignFirstResponder и клавиатура будет извлекаться из представления. Я связываю следующий код с табличным представлением в файле xib, но он, похоже, не работает.ResignFirstResponder не работает.

- (IBAction)backgroundTap:(id)sender 
{ 
    NSLog(@"test : did touch down"); 
    [_searchBar resignFirstResponder]; 
} 

Я пробую еще один способ реализации, добавив следующий код в файл .m, но все же не работая.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 
    NSLog(@"test : did touch down"); 
    UITouch *touch = [touches anyObject]; 
    UIView *view = (UIView *)[touch view]; 
    if (view == self.view) { 
     [_searchBar resignFirstResponder]; 
    } 
} 

Надеюсь, что кто-то может помочь.

+0

Я использую ваш второй метод в аналогичной ситуации, и он отлично работает, за исключением iOS 7, resignFirstResponder игнорируется при первом касании. Аналогично [self endEditing: YES]. Второй поступок работает правильно. Исправление состоит в том, чтобы просто вызвать resignFirstResponder дважды на каждом кране, и это работает. – user1055568

ответ

1

Вобще ..

[Self.view endEditing:YES]; 
+0

фиксированный случай окончания –

0

Попробуйте делать именно то, что вы делаете, но называют resignFirstResponder дважды. Я обнаружил, что должен сделать это с iOS 7.

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