Comment puis-je autoriser une modification de la portée sans que le tableau ne soit grisé, le champ de recherche devient le premier répondeur et le clavier contextuel? Je veux simplement actualiser les données affichées en fonction de l'étendue.UISearchBar- change la portée sans table grise?
1
A
Répondre
1
Si vous modifiez la portée à l'aide des boutons étendus UISearchBar standard, remplacez la méthode searchDisplayController:shouldReloadTableForSearchScope dans votre UISearchDisplayDelegate et faites-en ce dont vous avez besoin.
2
J'atteint cela avec ce qui suit:
@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
Qu'est-ce qui déclenche le changement de périmètre? (entrée de l'utilisateur, etc.) –