La solution que je suis venu avec pour cela est la suivante:
J'ai un tableview avec plusieurs cellules prototypes qui affiche des données complexes. Il y a une vue à une vue détaillée et une vue du processus de transaction.
Cette première tableview a un bouton de recherche qui affiche une nouvelle tableview avec les résultats.Il a besoin de la même fonctionnalité que la table principale qui le pousse; y compris les segues aux détails et les vues de progression des transactions ainsi:
Sur le storyboard, sélectionnez et copiez votre tableview principale. Désélectionnez et collez. Créez une seance push depuis votre tableview principale vers votre 2nd tableview; ou d'où vous voulez naviguer depuis. Modifiez la 2ème tableview comme vous voulez. IE: Si cela nécessite des changements d'interface utilisateur, pas de problème.
Créez une nouvelle classe viewcontroller qui est une sous-classe du viewcontroller exécutant la tableview principale. Remplacez le délégué de données dans votre sous-classe pour servir le sous-ensemble de données que vous souhaitez. Retournez dans le storyboard, sélectionnez votre 2ème contrôleur de table et dans l'inspecteur d'identité, sélectionnez votre sous-classe en tant que classe personnalisée.
Pour que cette solution fonctionne correctement, votre application doit gérer les données pour les vues. Vous pouvez utiliser prepareforsegue pour transmettre des données de la 1re tableview à la seconde, mais j'ai trouvé le modèle de données de l'application beaucoup plus flexible à partir de nombreux points de vue.
À moins que vous n'ayez des boutons qui poussent vers les sous-vues via segue, votre sous-classe devra remplacer les fonctions qui poussent via des segments avec des identités. NB Segues doit avoir des identifiants uniques si vous les identifiez du tout.
Il a fallu beaucoup d'essais et d'erreurs pour comprendre cela, mais une fois que vous avez compris le concept, c'est une solution relativement souple qui est tout à fait adaptable et pas si mal à mettre en œuvre.
+1 de moi. J'ai passé des heures à essayer de comprendre comment afficher l'en-tête de table de façon Storyboard, car je pensais que Storyboard était la nouvelle et meilleure façon de présenter l'interface utilisateur de mon application. Malheureusement, l'utilisation de Storyboard échoue dans ce département et la meilleure solution est de revenir à l'ancienne façon de charger une plume pour la vue ou de construire la vue par code. Je voulais vraiment croire que toute l'interface utilisateur de mon application pourrait être faite dans un seul fichier Storyboard, mais ce n'est certainement pas le cas. – ozz