Question

J'ai un NSView de couche d'hébergement (-isFlipped = OUI) avec trois sous-vues de la couche d'hébergement. Les sous-vues sont un en-tête, une zone de contenu, et un pied de page. L'en-tête a un triangle qui va s'effondrer le point de vue du contenu et juste montrer l'en-tête et pied de page collé ensemble.

Je peux accomplir ce assez facilement avec Core Animation, mais il y a un problème étrange qui se passe quand je remets à la côte la vue. Si je remets à la côte la vue horizontale, je veux que tous les trois sous-vues pour correspondre à la nouvelle largeur. Si je remets à la côte verticalement, je veux que les sous-vues de rester là où ils sont (le bord inférieur de la vue doit pouvoir se déplacer sans affecter la position de la sous-vue (sauf découpage bien sûr). La raison est que je dois effondrer la taille de la vue lorsque le contentView est fané dehors.

Qu'est-ce qui se passe réellement est que les trois sous-vues sont poussés au-dessus du haut de la vue lorsque la hauteur est changé ... et puis de nouveau enclenchent en place lorsque l'horizontale est modifiée. Il a quelque chose à voir avec la combinaison des deux la vue et les sous-vues, parce que si les sous-vues sont placés directement dans la fenêtre, ils se comportent correctement. En outre, j'ai essayé d'ajouter un bouton dans la vue et un comportement normal.

J'ai pu obtenir le bouton se conduisent mal de la même manière en le rendant trop couche -même ... donc je pense que le soutien de la couche a quelque chose à faire.

Il est comme les couches de support sont se collées à la vue parent comme redimensionne et étant poussé vers le haut, même si les coordonnées sont retournées.

Toutes les idées?

Était-ce utile?

La solution

vues d'hébergement de couche ne devraient pas avoir subviews. Voir - (void) setWantsLayer: documentation en référence de classe NSView:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html%23//apple_ref/occ/ INSTM / NSView / setWantsLayer :

vue racine devrait peut-être une couche de vue soutenu au lieu d'une couche d'hébergement d'un?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top