Назначить группу радио для кнопок радио - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть несколько радиокнопок

enter image description here

Мне нужно назначить радиогруппу для нее, чтобы одновременно можно было выбрать только одну радиокнопку. Нет возможности выбора радиогруппы. Я попытался

  • Назначение розетки с одним действием для всех кнопок
  • Перевод всех кнопок в пользовательский вид

Нет это работает.

1 Ответ

1 голос
/ 16 апреля 2020

В старые времена NSMatrix был классом, обеспечивающим поведение радиогруппы. Если вы посмотрите документы для этого класса, вы найдете следующее примечание:

Использование NSMatrix не рекомендуется в приложениях, работающих в macOS 10.8 и более поздних версиях. Если вам нужно создать группу переключателей в приложении, работающем в macOS 10.8 и более поздних версиях, создайте экземпляры NSButton, каждый из которых указывает тип кнопки NSRadioButton и указывает одно и то же действие и одно и то же суперпредставление для каждой кнопки в группе.

Итак, есть три вещи, которые все должны быть истинными в одно и то же время, чтобы это работало:

  • Все ваши кнопки должны быть одинаковыми superview.
  • Все ваши кнопки должны выполнять одно и то же действие.
  • Для ваших кнопок необходимо, чтобы их тип кнопки был установлен в NSRadioButton.

Я попробовал это только сейчас. Я создал кнопку в виде в моей раскадровке, установил для ее типа кнопки значение «Радио» в инспекторе атрибутов и назначил действие. Затем я продублировал эту кнопку несколько раз и запустил приложение. Поведение радио работало автоматически.

Если оно не работает для вас, я бы начал с того, что сделал выше. Просто создайте одну радиокнопку и установите ее с действием. Затем продублируйте его несколько раз и протестируйте. Если это работает (это должно), то либо посмотрите, можете ли вы использовать эту технику, чтобы получить то, что вы хотите, либо посмотрите, что отличается между тем, что вы хотите, и тем, что работает.

...