В старые времена NSMatrix
был классом, обеспечивающим поведение радиогруппы. Если вы посмотрите документы для этого класса, вы найдете следующее примечание:
Использование NSMatrix не рекомендуется в приложениях, работающих в macOS 10.8 и более поздних версиях. Если вам нужно создать группу переключателей в приложении, работающем в macOS 10.8 и более поздних версиях, создайте экземпляры NSButton, каждый из которых указывает тип кнопки NSRadioButton и указывает одно и то же действие и одно и то же суперпредставление для каждой кнопки в группе.
Итак, есть три вещи, которые все должны быть истинными в одно и то же время, чтобы это работало:
- Все ваши кнопки должны быть одинаковыми superview.
- Все ваши кнопки должны выполнять одно и то же действие.
- Для ваших кнопок необходимо, чтобы их тип кнопки был установлен в NSRadioButton.
Я попробовал это только сейчас. Я создал кнопку в виде в моей раскадровке, установил для ее типа кнопки значение «Радио» в инспекторе атрибутов и назначил действие. Затем я продублировал эту кнопку несколько раз и запустил приложение. Поведение радио работало автоматически.
Если оно не работает для вас, я бы начал с того, что сделал выше. Просто создайте одну радиокнопку и установите ее с действием. Затем продублируйте его несколько раз и протестируйте. Если это работает (это должно), то либо посмотрите, можете ли вы использовать эту технику, чтобы получить то, что вы хотите, либо посмотрите, что отличается между тем, что вы хотите, и тем, что работает.