2010-11-11 3 views
0
  • Je voudrais avoir quelque chose de similaire au "mode liste" des piles dans le Dock. Mais il devrait avoir le comportement de NSPopUpButton, en termes d'affichage de l'objet sélectionné quand le "tiroir" est réduit. Chaque ligne doit contenir une image et des colonnes de texte.NSCollectionView comme NSPopUpButton "tiroir"

    Comment le réaliseriez-vous? Peut-être sous-classe NSPopUpButton, pour afficher un CollectionView? Ou d'avoir un bouton "ordanary" et d'attacher une fenêtre contenant une CollectionView, lorsqu'on clique dessus? Oh et ce sont des barres verticales au lieu de barres de défilement sur le côté - comment cela se fait-il?

Répondre

0

Pourquoi ne pas utiliser un NSPopUpButton régulier dont l'assemblage est remplacé par le menu sous-classé NSMenu/NSMenuItem qui attire les choses comme vous voulez? Vous obtenez tout le comportement de défilement gratuitement.

Si vous insistez sur l'utilisation NSCollectionView cependant:

1 - Ne pas sous-classe NSPopUpButton si vous avez l'intention de sauter quoi que ce soit autre qu'un menu. Il est construit pour afficher un menu. Utilisez simplement un NSButton standard et gérez son état (NSOnState alors que la vue de collection est affichée, NSOffState sinon) manuellement.

2 - Vous pouvez afficher une fenêtre transparente sans bordure (de nombreux exemples disponibles en ligne) avec un ensemble de vue de collection/défilement standard moins les barres de défilement. La fenêtre sans bordure pourrait héberger les zones haut/bas (qui peuvent être des vues simples avec NSTrackingAreas pour détecter la souris). Ces zones peuvent faire défiler manuellement NSScrollView un bit toutes les n millisecondes à l'aide d'un NSTimer en survol.

+0

Merci! Je vais sécher avec le sous-classement NSMenuItem. – bijan

Questions connexes