2011-03-11 3 views
0

Je travaille actuellement sur une application qui affiche une sous-vue avec un contrôle de progression quand il fait un peu de travail. La sous-vue apparaît à partir du haut de la fenêtre en utilisant l'animation, et se cache lorsque l'opération est terminée.Shadow entre NSViews

Il ressemble à ceci (désolé, ne peut pas poster encore d'images): screenshot: view without shadow

ce que je voudrais, est de faire une ombre entre ces vues, pour le rendre ressemble si les fenêtres de progression est juste au-dessus de la liste, pas juste au-dessus. C'est difficile à expliquer. Ce serait quelque chose comme ceci:


Je ne sais vraiment pas comment je pourrais obtenir cet effet en utilisant du cacao.

meilleures salutations

Répondre

0

Utilisez -[NSView setShadow:]. Voir le NSView docs pour plus d'informations.

+0

Salut. Merci d'avoir répondu. J'ai déjà regardé ça, Mais pour que SetShadow fonctionne, je dois activer les calques pour cette vue. Je ne voudrais pas faire cela, car cela affecte la façon dont le texte est rendu (pas d'antialiasing) – Ernesto

+1

Je crois que vous pouvez obtenir un antialiasing de sous-pixels avec des vues sauvegardées par calque. Vous devez juste vous assurer qu'il connaît son arrière-plan (puisque vous ne pouvez pas antialias sur un fond inconnu). Voir ce sujet sur le sujet: http://www.cocoabuilder.com/archive/cocoa/202561-catextlayer-and-subpixel-anti-aliasing.html#202581 –

+0

Great. Je vais regarder dedans. Merci à vous deux pour les réponses – Ernesto