2011-01-08 56 views
0

我正在寻找一个NSToolBar类型的对象在我的应用程序中使用。我需要它是垂直的,看起来不错。对象上的按钮不需要像NSToolBar那样重新定位或定制,但我希望NSToolBar具有相同的外观和感觉,只需垂直。寻找一个垂直的NSToolBar的相似图

我试过谷歌路线,但我不确定在寻找obj-c对象或示例时要搜索什么。

我知道看到我想要的基本上是一组静态的按钮,我可以使用一堆按钮,但它没有NSToolBar所具有的漂亮无缝外观。

有没有类似于我在找的东西?是否有一个obj-c对象的存储库或者它们在我没有找到的网站上的很好集合?

回答

0

它在功能方面没有太多的功能,但如果在NSWindow的Interface Builder中选中“纹理”框(在“外观”下),它会使整个窗口看起来像一个工具栏。在窗口顶部放置一个放置良好的NSBox(设置为“自定义”,并使用窗口的背景的填充颜色),只留下一个看起来像工具栏的条带,您将拥有一个视觉逼近,尽管没有任何NSToolbar的功能。按钮都必须手动完成等等。

但是,我必须告诫你,这听起来像是对HIG的重大违反。如果你试图使某些事情变得微不足道,我不会劝阻你,但它是一种交叉的方式,在苹果决定采取哪条路径之前不需要交叉。

0

工具栏本身不会太棘手,但如果你想允许自定义,那将是棘手的。既然你没有提到自定义(或显示/隐藏),你真正想要的只是一个垂直的按钮和与窗口颜色相匹配的背景颜色。

使你的窗口成为一个带纹理的窗口,使用NSTexturedWindowMask,然后用你想要的尺寸创建一个NSView的子类,并绘制其背景以匹配窗口背景颜色。

-(void)drawRect:(NSRect)dirtyRect { 
    [[[self window] backgroundColor] set]; 
    NSRectFill(dirtyRect); 
} 

按钮只是这个视图的子视图。

就像我说的那样,定制和显示/隐藏使得实现这个任务变得更加困难。