2010-09-05 7 views
0

Afin de catégoriser une grande variété de vues uniques, j'ai une configuration complexe: les catégories principales sont sélectionnées via une barre d'outils, puis des volets spécifiques sont sélectionnés dans NSScrollView d'une catégorie. Cela ressemble à: window -> NSViewController contrôlant cinq vues -> sub-NSViewController pour chaque vue contrôlant les vues X -> chaque vue contient un graphe de noyau-intrigue. En bref, NSViewControllers imbriqués avec un CPLayerHostingView de base à la fin de presque tous les chemins. Avant même d'en arriver à ma question, n'hésitez pas à faire remarquer que c'est une mauvaise implémentation. En termes de convivialité, je pense que c'est logique, mais le simple nombre d'objets imbriqués me fait me demander s'il y a un meilleur moyen.Redimensionnement de NSViews imbriqués

Maintenant, en supposant que je l'ai conçu de la meilleure façon possible, la question elle-même: supposons que j'ai sélectionné une catégorie, puis un sous-élément à l'intérieur, et je regarde un graphique rendu. Je souhaite que le graphique soit redimensionné de manière appropriée si la fenêtre est redimensionnée. Dans Interface Builder, j'ai fait tout ce qui était nécessaire pour que cela se produise: tout de CPLayerHostingView à NSView dans la fenêtre principale ont été configurés pour s'autosize dans toutes les directions. Malgré cela, si je redimensionne à l'exécution, le graphique reste immobile et ne se redimensionne pas ou ne se déplace pas. Dans une conception avec zéro ou un NSView niveaux ce serait beaucoup plus simple à déboguer, mais je suis à court d'idées dans ce scénario.

Quelles astuces, programmatiques ou basées sur IB, puis-je utiliser pour m'assurer qu'un NSView se redimensionne en fonction d'un redimensionnement de fenêtre, de nombreux niveaux vers le haut?

Répondre

1

Non seulement vous devez définir les ressorts et les entretoises, mais vous devez également vous assurer que "Autoresizes Subviews" est coché.