У меня есть простой контроллер вида с uisearchbar и uitable .Моя проблема заключается в том, что при нажатии на строку поиска я вижу, что функция делегата searchBarShouldBeginEditing вызывается, но не searchBarTextDidBeginEditing (и из-за этого клавиатура не открывается и поиск не редактируется)
Я попытался реализовать функцию делегата searchBarShouldBeginEditing , возвращающую YES, установить панель поиска в качестве первого респондента, но никоим образом не получить searchBarTextDidBeginEditing вызываемый ...
Любая идея, что можетчто происходит ??
Какой-то код:
controller.h
@interface ViewController : UIViewController <UISearchBarDelegate>
{
UISearchBar * searchbar;
}
@property (nonatomic, retain) IBOutlet UISearchBar* searchbar;
@end
controller.m
@synthesize searchbar;
- (BOOL)respondsToSelector:(SEL)sel {
NSLog(@"Queried about %@", NSStringFromSelector(sel));
return [super respondsToSelector:sel];
}
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
NSLog(@"searchBarShouldBeginEditing -Are we getting here??");
return YES;
}
-(void) searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
NSLog(@"searchBarTextDidBeginEditing -Are we getting here??");
}
Конечно же, у моего класса еще многокод (который, безусловно, как-то влияет на панель поиска), но если у кого-то возникнут аналогичные проблемы с панелью поиска, он будет очень признателен за его ответ;)
Я попытался создать простое приложение, содержащее только панель поиска, и, очевидно, оно работает ...
РЕДАКТИРОВАНИЕ:
Тестируя немного, я обнаружил, что это не связано с uisearchbar, так как я добавил TextField, получая тот же результат (просто вызывается функция делегата textFieldShouldStartEditing)
Приложение имеет все контроллеры представления внутри котроллера UITabBar, но я не думаю, что это может вызвать весь этот беспорядок ...
EDITING2:
Действительно странное поведение: установка функции IBAction на событие TouchDown UITextfield работает отлично, но установка функции IBAction на EditingDidBegin никогда не срабатывает ...
Почему это событие нельзя назвать ??