Nous avons un parent Quel serait le moyen optimal de la cacao pour basculer la barre latérale code> code>? p>
Split code> Affichage (
nssplitView code>) et deux sous-espions,
contenu code> et
barre latérale code> (le la barre latérale est à droite). P>
6 Réponses :
Voici un didacticiel assez décent qui montre comment faire cela: DÉLACELLER LES MYSTERES DE NSSPLITVIEW . P>
Cacher le diviseur est effectué dans la méthode de déléguée de NSSPLITVIEW SPLIDVIEW: AVERTHIDEDIDEDEX: . P>
Vous devrez animer le format de cadre Changer vous-même si vous n'aimez pas le chemin NSSPLITVIEW. P>
DevoirViderViderat Code> ne fonctionne que si le diviseur est au bord de la vue scindée, non si elle est comprise entre 2 volets.
J'ai écrit une version Swift du contenu dans le lien de la réponse de @ Nathan qui fonctionne pour moi. Dans le contexte de mon exemple Ces fonctions seront probablement des méthodes dans une classe, elles sont pour moi. Si votre SplitView code> est défini ailleurs, probablement en tant que propriété d'instance sur une classe englobante:
SplitView code> peut être
nil code> Vous devez évidemment vérifier cela. Cela suppose également que vous avez deux sous-visions et celle de l'indice 1, ici comme
SidePanel code> est celui que vous souhaitez effondrer. P> p>
J'ai eu des artefacts avec le code ci-dessus, probablement parce que c'était hors de contexte. Je suis sûr que ça marche là où il était censé. Quoi qu'il en soit, voici une implémentation très simplifiée: pour voir un bon exemple en utilisant des animations, cliquez pour télécharger Ce fichier . p> p>
dans xcode 9.0 avec storyboards ouverte Scène de l'application Sélectionnez Affichage-> Menu-> Afficher la barre latérale. Ctrl-Click Afficher la barre latérale, dans les actions envoyées Supprimer le fourni en une, cliquez sur x. Du cercle Ctrl Faites glisser vers le premier répondeur dans la scène de l'application et sélectionnez TogglesideBar pour vous connecter. Ouvrez le storyboard et sélectionnez le premier élément de la vue Split et dans Attributs Inspecteur Change Comportement de la valeur par défaut à la barre latérale. Exécuter et essayer avec l'élément de menu Afficher Afficher / masquer. Tout fait dans l'interface Builder Aucun code. TogglesideBar gère le premier élément de vue scindé. https://github.com/dis3buted/splitviewcontroller P>
Merci! Savez-vous si cela peut être étendu au fonctionnement de deux barres ultérieurs différents?
La meilleure façon de le faire est la suivante: et il est animé: [ SWIFT 5 STRUT>]
splitViewItems[1].animator().isCollapsed = true // Show side pane splitViewItems[1].animator().isCollapsed = false // hide side pane
Si votre NssplitView code> Contrôle fait partie d'un objet
NSSPLITVIEWCONTROLLER code>, vous pouvez simplement utiliser ceci:
splitViewController.toggleSidebar(nil)