UISearchBar отменить кнопку Xcode 4.3? - PullRequest
0 голосов
/ 04 марта 2012

Как заставить кнопку отмены появляться только тогда, когда пользователь начинает вводить текст в UISearchBar?

Я пробовал это

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar {
self.searchBar.showsCancelButton = YES;
}

Но это не работает, я не понимаюНе думаю, что есть что-то плохое в том, что вы установили его на "showsCancelButton", потому что даже когда я говорю

NSLog(@"Typing");

, оно не будет выводиться на экран.Есть ли другой метод в Xcode 4.3, который может сделать это?Есть ли метод, который знает, была ли нажата кнопка отмены?

Ответы [ 3 ]

1 голос
/ 26 сентября 2012

Ваш метод не возвращает значение BOOLean, «ДА».Это должно работать:

// show search bar's cancel button when editing
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {

    searchBar.showsCancelButton = YES;

    return YES;
}
// hide search bar's cancel button when not editing
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {

    searchBar.showsCancelButton = NO;

    return YES;
}
1 голос
/ 04 марта 2012

Вы уверены, что класс является делегатом searchBar? Попробуйте установить self.searchBar.delegate=self; в методе viewDidLoad.

0 голосов
/ 03 мая 2012

Попробуйте это:

- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar {
  aSearchBar.showsCancelButton = YES;
}
...