2013-04-19 3 views
0

В моем приложении iPhone у меня есть элемент UISearchBar. Иногда, когда я нажимаю кнопку backspace, он удаляет более одного символа, иногда только один. Как я могу настроить удаление символов по одному, а не по группе?Кнопка Backspace на iPhone

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

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{ 
    NSLog(@"*******%@***********", searchText); 
    if(!searchBar.text.length){   
     searchIsActive = false;   
     [searchBar resignFirstResponder]; 
     [self.tableView reloadData]; 
    } 
} 

в colsole я вижу:

"*** *** "

" *** *** "

И после того, как я нажимаю кнопку забоя на клавиатуре я вижу: " * ** * ** * * "

Таким образом, это означает, что searchBar.text.length return NO

+2

Нажмите и отпустите, не удерживая клавишу удаления. – Alex

+0

Звучит так, как будто вам нужно снять флажок «Очистить при редактировании» или установить значение «false»? http://developer.apple.com/library/ios/documentation/uikit/reference/UITextField_Class/Reference/UITextField.html#//apple_ref/occ/instp/UITextField/clearsOnBeginEditing –

+0

У меня была ошибка в моем вопросе: я имею в виду UISearchBar, а не UITextFiled. UISearchBar не имеет такого свойства, как clearsOnBeginEditing – revolutionkpi

ответ

0

Элемент backspace является системным элементом nt. ОС обрабатывает это событие это событие, а не текстовое поле вашего приложения. Вы можете сделать свое текстовое поле в качестве первого ответчика, чтобы включить его для клавиатуры. Поскольку вы ничего не делаете для отображения символов в текстовом поле, вы не можете ничего удалить. Я думаю, что проблема может быть где-то в другом месте. Или вы неправильно постукиваете по клавиатуре.

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