J'ai donc créé un ViewControl dans mon storyboard avec 3 sous-vues. Chacune représente une vue différente que je veux montrer en fonction de la ligne sélectionnée dans l’écran précédent (NavControl). Je commence par toutes les sous-vues masquées via l'attribut "masqué" de l'inspecteur d'attributs en cours de vérification. Tous les objets dans chacune de ces vues ne sont PAS cachés, mais sont cachés car la sous-vue elle-même est cachée (évidemment). En pensant que je pourrais utiliser l'attribut tag, j'ai attribué une balise (0, 1 et 2) à chacune des trois sous-vues, mais je ne vois pas comment l'utiliser non plus (juste au cas où cela serait utile pour me fournir une option comment faire cela, je voulais le mentionner ici).
Alors, comment diable puis-je montrer et ensuite cacher l'une de ces sous-vues? Je ne veux pas passer en revue chaque objet dans une sous-vue et basculer sa propriété cachée sur vrai/faux. Je pense que je devrais pouvoir simplement "afficher/cacher" la totalité de la sous-vue. obtenant ainsi le même résultat, mais beaucoup plus succinctement.
Je ne trouve rien qui puisse m'aider via des recherches Web ou des recherches stackoverflow.
Mon code est très simple. Je capture la ligne sélectionnée dans l'écran précédent et la passe à une variable de l'écran de détails contenant les sous-vues. Je sais que cela fonctionne car j'ai configuré println () sur la fonction viewDidLoad des écrans de détail. Il ne me reste donc plus qu'à entrer dans chacune de ces conditions et à lui dire quelle sous-vue afficher et/ou masquer.
Merci j'apprécie toute l'aide de ces communautés! Je serais perdu sans cela.
Vous devez créer IBOutlet
s pour chacune des trois sous-vues. Ensuite, vous pouvez afficher/masquer chacun d’eux directement à partir de ces références. Si vous masquez une vue, les sous-vues sont automatiquement masquées.
Une fois que vous avez un point de vente pour la vue, vous pouvez le faire: viewYouWantToHide.isHidden = true
Utilisez-le pour masquer une vue dans Swift
viewVar.isHidden = true
Si vous avez des étiquettes pour chaque vue, vous pouvez les masquer et les afficher en utilisant:
Pour se cacher:
[[self.view viewWithTag:1] setHidden:YES];
Montrant:
[[self.view viewWithTag:1] setHidden:NO];
Cache:
self.view.viewWithTag(1)?.isHidden = true
Montrant:
self.view.viewWithTag(1)?.isHidden = false
NOTE: Remplacez 1
avec la valeur de votre tag.
cependant, le fait que isHidden est une convention de nommage pour la vérification du statut et une méthode de lecture, mais malgré cela, dans Swift, nous l'utilisons comme propriété de définition et de lecture
view.isHidden = true