Используя переключатели
Переключатель выводит на экран установку чего-то в Вашем приложении и является частью группы, в которой только одна кнопка может идти за один раз. Используйте группу переключателей для выбора среди нескольких опций, которые являются взаимоисключающими.
Стандартные переключатели
Стандартный переключатель является маленьким кругом, сопровождаемым строкой текста. Если кнопка прочь, круг пуст. Если кнопка идет, круг заполнен в. Если кнопка является смешанным состоянием, круг имеет тире в нем.
Например, эта группа дисплеев кнопок, что все выбранные объекты являются зелеными:
И эта группа выводит на экран, что некоторые выбранные объекты являются красными, и некоторые являются зелеными:
Группа переключателей реализована с NSMatrix
объект, содержащий несколько NSButtonCell
экземпляры и имеют режим отслеживания NSRadioModeMatrix
. Каждый раз, когда одна из кнопок матрицы нажата, матрица выключает ранее нажатую кнопку и включает, по которой недавно щелкают.
Является самым простым создать группу кнопок переключателя в Интерфейсном Разработчике. Можно также сделать тот программно путем выделения NSMatrix
объект и инициализация его (в вызове initWithFrame:mode:prototype:numberOfRows:numberOfColumns:
) с прототипной ячейкой и режимом отслеживания NSRadioModeMatrix
. Для объекта прототипа создайте a NSButtonCell
объект с типом NSRadioButton
. Перечисление 1 иллюстрирует, как Вы могли бы сделать это.
Перечисление 1 , Создающее матрицу переключателя программно
- (void)awakeFromNib { |
NSButtonCell *prototype = [[NSButtonCell alloc] init]; |
[prototype setTitle:@"Watermelons"]; |
[prototype setButtonType:NSRadioButton]; |
NSRect matrixRect = NSMakeRect(20.0, 20.0, 125.0, 125.0); |
NSMatrix *myMatrix = [[NSMatrix alloc] initWithFrame:matrixRect |
mode:NSRadioModeMatrix |
prototype:(NSCell *)prototype |
numberOfRows:3 |
numberOfColumns:1]; |
[[[typeField window] contentView] addSubview:myMatrix]; |
NSArray *cellArray = [myMatrix cells]; |
[[cellArray objectAtIndex:0] setTitle:@"Apples"]; |
[[cellArray objectAtIndex:1] setTitle:@"Oranges"]; |
[[cellArray objectAtIndex:2] setTitle:@"Pears"]; |
[prototype release]; |
[myMatrix release]; |
} |
Переключатели значка
У Вас может также быть переключатель, это - кнопка значков; т.е. один это прежде всего идентифицируется его значком и имеет минимальный текст. Если кнопка прочь, это, кажется, всовывает. Если кнопка на, это, кажется, нажимается в. (Кнопка значков не может вывести на экран смешанное состояние.)
Можно создать группу переключателей значка или в Интерфейсном Разработчике или в программно. При использовании Интерфейсного Разработчика запустите с матрицы кнопок. Если Вы создаете его программно, создаете матрицу кнопок. Тогда измените режим отслеживания матрицы на NSRadioModeMatrix
. Измените типы кнопок на NSPushOnPushOffButton
, их позиции изображения к NSImageOnly
, их внешняя панель вводит к квадратному типу внешней панели. Наконец установите их изображения в то, что Вы хотите.