Как я могу разрешить изменение области без того, чтобы таблица стала серой, поле поиска стало первым ответчиком и всплывающей клавиатурой?
Я просто хочу обновить отображаемые данные в зависимости от области видимости.
Как я могу разрешить изменение области без того, чтобы таблица стала серой, поле поиска стало первым ответчиком и всплывающей клавиатурой?
Я просто хочу обновить отображаемые данные в зависимости от области видимости.
Я достиг этого следующим образом:
@interface SearchViewController : UIViewController<UISearchBarDelegate, UISearchDisplayDelegate> {
BOOL shouldBeginEditing;
}
@end
@implementation SearchViewController
-(void)searchBar:(UISearchBar *)bar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope
{
shouldBeginEditing = NO;
}
-(BOOL)searchBarShouldBeginEditing:(UISearchBar *)bar
{
if (shouldBeginEditing)
{
return YES;
}
else
{
shouldBeginEditing = YES;
return NO;
}
}
@end
Если вы меняете область с помощью стандартных кнопок области UISearchBar, они переопределяют searchDisplayController:shouldReloadTableForSearchScope в вашем UISearchDisplayDelegate, и пусть он делает все, что вам нужно.