2016-05-17 93 views
1

我目前正在嘗試定義一個NSToolbar可選NSToolbarItems它們表示繪圖OSX應用程序中的工具。我希望用戶能夠選擇並取消選擇要使用的工具(NSToolbarItems),方法是單擊它們Set NSToolbarItem Unselected

如果你碰巧知道素描,那是工具欄的行爲我要找:

​​

在上圖中可以看到選擇「編輯」的工具。如果再次單擊該項目,它被取消:

Unselected Tool Screenshot

我已經閱讀工具欄的蘋果文檔,並沒有發現有關如何實現能夠選擇/取消選擇工具欄項目這個效果信息。在「可選的工具欄項目」,它說:

您的應用程序可以使用方法setSelectedItemIdentifier:傳遞標識符所需的工具欄項指定當前選擇的工具欄項目。當前選定的工具欄項目由方法selectedItemIdentifier返回。如果當前沒有選擇,則返回nil。

但我還沒有找到setSelectedItemIdentifier:方法的定義或甚至是什麼將解決我的要求。

現在我的工具欄項目會發生什麼,一旦點擊它們,他們只能通過點擊另一個可選項目來取消選擇。一旦一個項目被點擊,總會有一個選定的項目。

有什麼簡單的方法來解決這個問題嗎?我是否錯過了文檔中重要的部分,它解釋瞭如何實現這種效果?

非常感謝!

答: 那麼到底它是作爲設置NSToolbarnilselectedItemIdentifier一樣簡單。這會導致所選元素被取消選擇。

+0

您是否願意在單獨的答案中回答您的問題以將此問題標記爲已回答? – mangerlahn

+0

你去@Max!謝謝! –

回答

1

爲了取消選擇NSToolbarItem,這與將NSToolbar對象的selectedItemIdentifier設置爲nil一樣簡單。

我最初是由蘋果文檔困惑,Selectable Toolbar Items部分,因爲它指出:

[...]當前選定的工具欄項目是由該方法返回selectedItemIdentifier。如果當前沒有選擇,則返回nil。

所以我認爲selectedItemIdentifier只是返回當前選定的工具欄項目(沒有設置,只是越來越)的方法。但我認爲這應該是一個錯字。 selectedItemIdentifier是get/set屬性,事實上,將其設置爲nil將取消選擇所有項目。