Используя переключатели

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

Стандартные переключатели

Стандартный переключатель является маленьким кругом, сопровождаемым строкой текста. Если кнопка прочь, круг пуст. Если кнопка идет, круг заполнен в. Если кнопка является смешанным состоянием, круг имеет тире в нем.

Например, эта группа дисплеев кнопок, что все выбранные объекты являются зелеными:

Radio buttons with green option selected

И эта группа выводит на экран, что некоторые выбранные объекты являются красными, и некоторые являются зелеными:

Multiple selection in radio buttons

Группа переключателей реализована с 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, их внешняя панель вводит к квадратному типу внешней панели. Наконец установите их изображения в то, что Вы хотите.