2012-01-29 93 views
4

我已經在幾個應用程序中看到了這個類似於工具欄的UI元素,並且我想知道是否有一個用於這樣的元素的標準Cocoa對象。這是什麼工具欄樣式的可可UI元素?

  • 的Xcode:Xcode's Toolbar
  • ColorSchemer:ColorSchemer's Toolbar
  • 基石:CornerStone's Toolbar

如果標準可可實現不存在的,任何人都可以提出一個很好的開源庫?

+0

這些只是具有圖像背景的'NSView'上的按鈕。 – 2012-01-30 01:10:31

+0

@RobKeniger令人失望,但有道理:)如果您將其作爲答案發布,我會接受。 – 2012-01-30 15:01:25

回答

2

在第二個示例中,這些按鈕是Interface Builder調用的「漸變按鈕」,它具有該外觀而不需要背景圖像。按鈕只是彼此相鄰。

在其他示例中,「工具欄」僅僅是一個具有自定義圖像背景的普通NSView,具有標準NSButton對象作爲子視圖。這些按鈕的邊框被禁用,因此您看到的只是圖標。

要獲得圖標的「插入」外觀,按鈕圖像最有可能是template images。要使圖像成爲模板圖像,只能使用黑色和純色,並使用Alpha通道。然後您在NSImage對象上調用[image setTemplate:YES]

Apple提供一些pre-canned template images,您可以使用+imageNamed:方法NSImage訪問它。

1

在Xcode中的情況下,它被稱爲IDENavigatorFilterControlBar的私有類,這一繼承層次:

IDENavigatorFilterControlBar 
IDEFilterControlBar 
DVTBorderedView 
DVTAutoLayoutView 
NSView 

DVT是由私人開發工具框架中使用前綴。

+0

那真令人失望。但顯然必須有一些選擇;因爲ColorSchemer,ConerStone等無法訪問這些私有API。 – 2012-01-29 17:04:10

0

不知道這是你想要的,但你有沒有試過Matt Gemmell的MGScopeBar

+0

不是。一個很酷的UI,但根本不是我想要的。 – 2012-01-29 17:03:30