REMARQUE: Je ne l'ai jamais fait personnellement, mais voici ma théorie:
Le UISearchBar est un outil astucieux en ce que vous pouvez brancher un délégué à lui de contrôler ses actions. Voici une capture d'écran de la documentation qui peut être trouvée ici: link.
Alors, ce que je ferais est de mettre à ce qu'il est classe autour du UISearchBar est. Ensuite, implémentez vos méthodes de délégué de sorte que lorsque l'une des méthodes affichées ci-dessus dans l'image est appelée, la classe environnante se connectera à un UIPopoverPresentationController, qui à son tour aura un UITableView à l'intérieur. (Le popover littéralement "pop over" le reste de l'écran.)
Vous devrez vous assurer que la classe que vous avez défini en tant que délégué implémente le protocole UISearchBarDelegate. Il ressemblera à quelque chose comme ceci:
class Foo: UISearchBarDelegate {
/* stuff */
}
Après cela, toute la configuration de données est à vous. Encore une fois, tout cela est en théorie car je ne l'ai pas implémenté moi-même. Si j'ai quelque chose de mal, dites-moi s'il vous plaît.
Bonne chance. EDIT: Pour répondre au commentaire de Dan L sur la question initiale, il est en fait possible d'avoir un popover présent sans modalité sur un iPhone (ou un écran compact). Vous devez définir la classe en tant que délégué présentation du UIPopoverPresentationController
un puis mettre en œuvre une méthode déléguée comme ceci:
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.None
}
Tout le code est en train de faire est la prévention de la popover d'aller toujours modal.
Je crois que tableView qui ne fait que remonter une partie de l'écran est présenté comme un popover (c'est un certain type de segue). Vous devez créer un viewController ou un tableViewController et le présenter est comme un survol. Les Popovers ne fonctionnent que sur les iPads, donc si ce n'est pas un iPad, il se présentera de manière modale. Je voudrais vérifier les vidéos sur youtube sur la façon de présenter un popover comme celui-ci: https://www.youtube.com/watch?v=48UA06EwfrM –
Oh, merci. Je vois quelque chose comme ça dans Iphone, la proposition se fait en Iphone bien, je montre juste une photo dans Ipad parce qu'il est plus clair de voir ce que je voudrais faire. Dans Iphone la vue Table appelée par la barre de recherche était en face de la carte de manière peu transparente, mais je ne connaissais pas le nom de l'action comme popover. Je vais chercher à ce sujet. J'apprécie l'attention et si vous avez un autre conseil, j'aimerais le voir. –
Voulez-vous dire que sur un iPhone, lorsque vous appuyez sur la barre de recherche, vous voulez qu'un tableau apparaisse sur le contenu déjà affiché à l'écran? C'est possible sur l'iPhone! Il ne s'affichera pas dans le cadre de l'écran, le tableau apparaîtra sur l'écran entier jusqu'à ce que l'utilisateur clique sur annuler ou sur une cellule tableView. –