Используя состояния пункта меню
Пункты меню могут иметь состояние: на (NSOnState
), прочь (NSOffState
), или смешанный (NSMixedState
). Если пункт меню представляет установку в Вашем приложении, они полезны. Пункт меню автоматически выводит на экран свое состояние, следующим образом. Если состояние NSOnState
, галочка появляется около него. Если состояние NSMixedState
, тире появляется около него. Если состояние NSOffState
, ничто не появляется около него. Для установки состояния пункта меню использовать setState:
.
Если установка является истиной только для некоторых элементов в приложении или текущем выборе, смешанное состояние полезно. Например, если бы некоторые выделенные символы, одним словом, документ процессора является курсивом, и другие не, пункт меню Italic имел бы тире около него. Если пункт меню находится в смешанном состоянии, то выбор его должен циклически повториться через все три состояния. Возвращение к смешанному состоянию должно оставить выбор, как это было.
Можно использовать состояния для реализации группы взаимоисключающих пунктов меню, во многом как группа переключателей. Например, игра могла иметь три пункта меню для показа уровня игры: Новичок, Промежуточное звено, и Усовершенствованный. Для реализации такой группы создайте одно сообщение действия, что они все используют. Это сообщение действия изменяет надлежащие настройки, и затем отражает что изменение путем снятия выделения с в настоящее время проверенным элементом и проверки недавно выбранный пункт.
В методе действия, реагирующем на все команды в использовании группы setState:
снять флажок с пунктом меню, в настоящее время отмечающимся:
[currentItem setState:NSOffState]; |
Тогда отметьте недавно выбранную команду:
[sender setState:NSOnState]; |