Какао: как получить тип кнопки, когда у меня есть переменная «кнопка идентификатора» - PullRequest
3 голосов
/ 07 марта 2012

Я работаю над кодом, в котором мне нужно иметь возможность получить тип кнопки на основе переменной «id button». Кнопка может быть или радио, флажком или простой кнопкой. Класс NSButton имеет член setButtonType, но не имеет функции для определения типа кнопки.

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Вы не можете.Из документации, на которую вы ссылаетесь, есть бит setButtontype:

Доступные типы относятся к наиболее распространенным типам кнопок, которые также доступны в Интерфейсном Разработчике.Вы можете настроить другое поведение с помощью методов NSButtonCell setHighlightsBy: и setShowsStateBy:.

Обратите внимание, что метод -buttonType отсутствует.Метод set устанавливает различные свойства кнопок, которые вместе определяют поведение типа.

Если вам действительно нужно выяснить тип произвольной кнопки, вам необходимо создать таблицу, которая определяетbuttonType на основе возможных значений highlightsBy и showsStateBy.

0 голосов
/ 07 марта 2012

API не предоставляет вам эту функцию напрямую.

Техника для предоставления вам этой функциональности заключается в присвоении каждой кнопке тега в зависимости от типа кнопки. Вы можете пометить переключатели с 1, флажки с 2 и кнопки с 3 (или все, что вам подходит) во время создания. Теги могут быть назначены с помощью Interface Builder или в коде. Тогда ваш код может просто проверить этот тег и действовать соответствующим образом.

// Where you make the button
[someRadioButton setTag:1];

// Where you just have and "id button"
if ([buttonId tag] == 1) {
    // Do radio button stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...