2010-11-01 3 views
0

Привет, Я пытаюсь сделать NSComboBox прозрачным, но не работает. Я пытаюсь его следующим способом:Как сделать NSComboBox невидимым или прозрачным

[NSComboBox setTransparent:YES]; 

Но мне кажется, что NSComboBox не не реализует setTransparent ни делает NSComboBoxCell ни NSTextField. Ждем ваших предложений и ответов.

С уважением Umair

+0

Вы используете тег object-c, зачем включать тот же текст в заголовок? – tlindner

ответ

3

[comboBox setHidden:1];

+1

+1. Из интереса, почему вы выбираете 1, а не ДА? –

+0

@invariant, потому что '0' /' 1' понятны как замены для 'NO' /' YES'. это изменение возникло из-за компиляции многих источников как objC++. с использованием набора предупреждений i (очень высокий), c-style casts помечены как предупреждения в переводах C++/objC++ (потому что C++ имеет свой собственный способ кастинга). это означает, что каждое использование «NO' /' YES », видимое для преобразования objC++, генерирует предупреждение, потому что эти константы определяются как' #define NO (BOOL) 0' и '#define YES (BOOL) 1'. Я также использую '0' /' 1' вместо 'true' /' false' и '0' вместо' nil', 'NULL' и т. д. – justin

+1

Я бы сказал, однако, что гораздо яснее ответить вопрос Objective-C с кодом, который следует за установленными соглашениями Objective-C, чтобы избежать путаницы. –

0

я добавлю в дополнение к ответу Джастина, что вы должны указать, почему вы хотите это сделать. Причины вашей цели могут означать разницу между использованием -setHidden: и, скажем, при установке элемента управления без рамки.

Кроме того, это очень не-Mac-образный интерфейс, который скрывает элементы управления. Почти всегда правильный выбор отключить элемент управления, если он недоступен из-за какого-либо другого состояния. Кроме того, если вы переключаете подмножества элементов управления на основе выбора, рассмотрите возможность использования NSTabView без вкладок.