2009-08-18 38 views
1

我有許多NSToolbarItems的應用程序。在任何時候只需要5個左右,所以它似乎是將它們放在屏幕上並使它們容易到達的最好方法是根據上下文隱藏/僅顯示NSToolbarItems。隱藏/顯示NSToolbarItem的

我找不到通過谷歌或在蘋果文件的如何做到這一點。有沒有辦法? (實際上寫了一個自定義nstoolbar!)

注意:我擔心這有點「反」用戶界面標準,但我想不出一種更好的方法來處理所有需要的大量按鈕由用戶,除了可能的工具窗口thingy。

+1

哦,還有,我期待一個單獨的組織會根據他們自己的組織情況(他們允許員工做什麼而不是做)來完全刪除或添加按鈕到工具欄,所以我必須無論如何,以編程方式添加和刪除按鈕。 – Jacob 2009-08-18 13:16:15

回答

3

你可以通過所有的項目進行-[NSToolbar items],並與-[NSToolbar removeItemAtIndex:]刪除不想要的,雖然蘋果不會這樣說:

通常情況下,你不應該調用此方法 (-[NSToolbar removeItemAtIndex:]);你應該讓用戶 重新配置工具欄。

通常您只是禁用了當前上下文中無法使用的工具欄項目。

+0

感謝您的指針。我知道我至少會收到一些關於這個「可用性」的評論。問題是,在任何給定的情況下,有五個可用/明智的按鈕和超過六十個不可用/無意義的按鈕。 (也就是想象一個畫面,你正在繪製一輛帶汽車組件的汽車,另一個畫面是你在地圖上繪畫的顏色,另一個畫面是你測量地圖上各點之間的距離,你需要所有的按鈕,但不是全部 – Jacob 2009-08-18 13:01:53

+2

也許你最好使用根據上下文而不是工具欄改變的NSPanel/NSWindow,每個上下文可能需要一個NSViewController,並且當上下文改變時切換窗口的contentView。 – 2009-08-18 13:22:02

+1

給了我另一個想法!可能有一個「sub」工具欄位於繪圖區域的頂部,顯示相關的按鈕(如同Finder在瀏覽服務器時所做的樣式,即「正在連接... (連接爲)「欄) – Jacob 2009-08-18 13:58:00