Masquer la barre de titre d'une fenêtre HUD
bxdiesel
Membre
Je voudrais faire une palette flottante de type HUD et j'ai pensé utiliser un NSPanel en cochant HUD dans IB.
Mais je ne veux pas de la barre de titre, or il me semble que le seul moyen d'enlever la barre de titre d'une fenêtre est de l'instancier par code en spéficiant NSBorderlessWindowMask comme styleMask.
Mais du coup, je ne sais pas comment préciser par code que ma fenêtre doit être de type HUD...
Mais je ne veux pas de la barre de titre, or il me semble que le seul moyen d'enlever la barre de titre d'une fenêtre est de l'instancier par code en spéficiant NSBorderlessWindowMask comme styleMask.
Mais du coup, je ne sais pas comment préciser par code que ma fenêtre doit être de type HUD...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
En gros, tu reprogrammes toi-même l'affichage du fond de ta fenêtre.
Merci pour les conseils.
Heu, si la sous classe ne sert qu'à faire un setBackgroundColor: et setOpaque: lors de l'init, pourquoi ne pas le faire sans sous classe depuis le code ? Plus propre quand même.
Ou au pire si vous voulez vraiment économiser 2 ligne de code faite une catégorie en rajoutant une méthode de convenance newHUDPanelWith...
Quel est l'intérêt de la sous classe ici ?
Il me semble que c'est la méthode prônée par Apple non ?
C'est possible, dans l'idée si on peut faire autrement que part une sous classe autant le faire, ça évite des ennuies si Apple change sa manière de faire sur tel ou tel chose
Et ça colle mieux avec le principe d'envoi de message je trouve.
De toutes façons, comme Apple ne fournit toujours pas les controles HUD qui vont avec les fenêtres, on aura toujours des trucs de ce style à faire (sous-classer des vues) tant que l'on ne pourra pas rajouter un style (NSBezelStyle) aux controles Cocoa sans-sous classer.