2010-11-01 8 views
0

Bonjour J'essaie de rendre un NSComboBox transparent mais ça ne fonctionne pas. Je suis en train avec la méthode suivante:Comment faire un NSComboBox invisible ou transparent

[NSComboBox setTransparent:YES]; 

Mais il semble que NSComboBox ne met pas en œuvre SetTransparent ni ne NSComboBoxCell ni NSTextField. Dans l'attente de vos suggestions et réponses.

Cordialement Umair

+0

Vous utilisez la balise objective-c, pourquoi inclure le même texte dans le titre? – tlindner

Répondre

3

[comboBox setHidden:1];

+1

+1. Par intérêt, pourquoi choisissez-vous 1 plutôt que OUI? –

+0

@invariant parce que '0' /' 1' sont claires comme substitutions pour 'NO' /' YES'. le changement provenait de la compilation de nombreuses sources comme objC++. Avec l'ensemble d'avertissements que j'utilise (très haut), les lancers de style c sont signalés comme des avertissements dans les traductions C++/objC++ (parce que C++ a sa propre façon de lancer). cela signifie que toute utilisation de 'NO' /' YES' visible à une traduction d'objC++ générerait un avertissement car ces constantes sont définies comme '#define NO (BOOL) 0' et' #define YES (BOOL) 1'. j'utilise aussi '0' /' 1' au lieu de 'true' /' false', et '0' au lieu de' nil', 'NULL', etc. – justin

+1

Je dirais, cependant, qu'il est beaucoup plus clair de répondre une question Objective-C avec un code qui suit les conventions Objective-C établies pour éviter toute confusion. –

0

Je vais ajouter, en plus de la réponse de Justin que vous devez indiquer pourquoi vous voulez faire. Les raisons de votre objectif peuvent faire la différence entre l'utilisation de -setHidden: et, disons, la définition du contrôle pour ne pas avoir de lunette.

En outre, il est très peu semblable à Mac d'avoir une interface utilisateur qui cache les contrôles. C'est presque toujours le bon choix pour désactiver un contrôle s'il est indisponible à cause d'un autre état. Alternativement, si vous changez de sous-ensembles de contrôles en fonction d'un choix, pensez à utiliser un NSTabView sans onglets.