Lorsque vous faites défiler une table vers le bas (Notes.app), la barre de recherche reste fixe, mais lorsque vous faites défiler une table, la barre de recherche est masquée. C'est ce que je veux. En regardant l'indicateur de défilement, il apparaît que UISearchBar est une sous-vue de la vue défilante d'une table. Mais si j'ajoute une barre de recherche à une tableView dans Interface Builder, elle défile toujours attachée à une tableView comme une ligne régulière.Comment répliquer le comportement de défilement UISearchBar dans Notes.app?
Répondre
Dans la vue de table, placez un UIView transparent vide (searchBarPlaceholderView
) dans le logement tableHeaderView, qui a exactement les dimensions d'un UISearchBar. Ajoutez ensuite l'UISearchBar (searchBar
) à la vue de niveau supérieur.
Ensuite, dans votre délégué de vue de la table, ajoutez
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGRect sbFrame = searchBar.frame;
sbFrame.origin.y = searchBarPlaceholderView.frame.origin.y - scrollView.contentOffset.y;
// it cannot move from the top of the screen
if (sbFrame.origin.y > 0) {
sbFrame.origin.y = 0;
}
searchBar.frame = sbFrame;
}
C'est le comportement par défaut. Vous avez juste à laisser tomber la barre dans le premier en-tête de la table (je suppose que c'est la section 0).
Cependant, je viens de créer une nouvelle application avec un UITableViewController et, à travers l'Interface Builder, j'ai déposé l'UISearchBar dans la partie supérieure de la tableView et il se comporte comme l'application Notes.app.
Non, ce n'est pas, du moins pour moi. Essayez de faire glisser la table vers le bas - la barre de recherche la suivra tout le long. Dans la barre de recherche Notes.app reste attaché en haut. – Indoor
Oh, maintenant j'ai compris. En regardant Notes.app, il semble que la barre de recherche ne fait pas partie de la table, mais elle est rendue telle quelle (juste au moment où vous faites défiler vers le haut ou vers le bas). –
Ajouter la barre de recherche à la vue de la table dans le constructeur d'interface comme normale (c'est-à-dire la barre de recherche devrait être une sous-vue de la table).
mettre en œuvre cette méthode dans le délégué:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
UISearchBar *searchBar = self.searchDisplayController.searchBar;
if(scrollView.contentOffset.y <= 0) {
searchBar.frame = CGRectMake(0, scrollView.contentOffset.y, searchBar.frame.size.width, searchBar.frame.size.height);
}
}
- 1. Répliquer le comportement du navigateur Android
- 2. Comportement de défilement jQuery/HTML
- 3. Modifier le comportement de la barre de défilement par défaut
- 4. UISearchBar dans un UITableView
- 5. Comment réparer le comportement bizarre de défilement/alignement lors de l'utilisation du clavier dans MenuStrip?
- 6. Comment changer le UIKeyboard en utilisant UISearchBar?
- 7. Comment redéfinir le défilement dans un listview
- 8. Comment répliquer ce commutateur C++ enum dans Java?
- 9. Comment désactiver le comportement de peinture par défaut de l'événement de défilement de roue sur JScrollPane
- 10. Barre de recherche intégrée à l'iPhone 3.0 Notes.app
- 11. Comment définir la portée dans UISearchBar
- 12. UISearchBar Animation
- 13. Bouton en croix dans UISearchBar
- 14. UISearchBar est couvert dans un tableViewHeader
- 15. slide UISearchBar
- 16. Utilisation du bouton de signet dans UISearchbar
- 17. personnalisé UISearchBar
- 18. Est-il possible d'empêcher UISearchBar de défiler dans UITableView?
- 19. Comment répliquer l'écran de configuration ipod dans une application iphone?
- 20. UISearchBar Exemple de code
- 21. iPhone UISearchBar animé en haut
- 22. Signets UISearchBar
- 23. définir le premier texte sur UISearchBar
- 24. Oracle Fonction: Répliquer wm_concat
- 25. Comment émuler le comportement 'include' dans MATLAB?
- 26. TFS - Comment répliquer la fonctionnalité MKS Checkpoint
- 27. Répliquer le style Flex 4 par défaut dans Flex 3
- 28. Comment fonctionne le défilement dans android listview?
- 29. Comment résoudre le défilement lent dans UITableView
- 30. UISearchBar teinté comme Contacts
tout code que nous pouvons voir ou tester en sont l'application – user841836