2016-05-17 4 views
1

Я в данный момент пытаюсь определить NSToolbar с NSToolbarItems которые представляют собой инструменты в приложении для рисования OSX. Я хочу, чтобы пользователь мог выбрать и отменить выбор инструментов (NSToolbarItems), которые будут использоваться, щелкнув по ним.Set NSToolbarItem Не выбрано

Если вы не знаете, эскиз, то есть поведение панели инструментов Я ищу:

Selected Tool Screenshot

На изображении выше вы можете увидеть «Edit» инструмент выбран. При повторном нажатии на элементе, он получает отменен:

Unselected Tool Screenshot

Я читал документацию Apple, для панелей инструментов и не нашел информацию о том, как добиться этого эффекта, чтобы быть в состоянии выбрать/снять элементы панели инструментов , В «Выбор панели инструментов Элементы» он говорит:

Ваше приложение может указать выбранный элемент на панели инструментов, используя метод setSelectedItemIdentifier: проходящее идентификатор нужного пункта на панели инструментов. Текущий выбранный элемент панели инструментов возвращается методом selectedItemIdentifier. Если в настоящее время не выбрано, возвращается nil.

но я не нашел, где определяется метод setSelectedItemIdentifier: или если это даже то, что решит мое требование.

Что происходит с моими элементами панели инструментов, так это то, что после щелчка их можно удалить только нажатием другого выбираемого элемента. Как только элемент будет нажат, всегда будет выбран выбранный элемент.

Есть ли простой способ решить эту проблему? я пропускаю важную часть документации, где объясняется, как добиться этого эффекта?

Большое спасибо!

ОТВЕТ: Таким образом, в конце концов, это было так просто, как установка selectedItemIdentifier из NSToolbar в nil. Это заставляет выбранный элемент отменяться.

+0

Не могли бы вы ответить на свой вопрос в отдельном ответе, чтобы отметить этот вопрос, как ответили? – mangerlahn

+0

Там вы идете @Max! Благодаря! –

ответ

1

Для снятия снятия с охраны NSToolbarItem это так же просто, как установка selectedItemIdentifier объекта NSToolbar на номер nil.

Я изначально был смущен Apple, документации, в разделе Selectable Toolbar Items, так как в нем говорится, что:

[...] Выбранный пункт Панель возвращается методом selectedItemIdentifier. Если в настоящее время не выбрано, возвращается nil.

так что я думал, что selectedItemIdentifier был просто методом, который возвратил выбранный в данный момент элемент панели инструментов (без настройки, только для получения). Но я считаю, что это должна быть опечатка. selectedItemIdentifier - это свойство get/set, и, фактически, установка его на nil отменяет выбор всех элементов.

Смежные вопросы