2012-06-03 17 views
0

我想使我的第一个可可应用程序(以前我正在制作iOS应用程序),我想为我的自定义视图做什么是使其标题可点击与指标(附件)三角朝下。 点击标题会打开一个弹出菜单和我的项目。NSWindow的标题作为指示器弹出按钮

Cocoa可以这样做吗?

回答

1

Rdelmar's answer可能是最简单的方法,但可能不会完全做你想做的事情(这是用弹出的项目替换实际的标题,而不是在工具栏区域的标题下有一个弹出按钮)。关于功能,您的应用程序可能会使用工具栏。

但是,如果您真的想要替换实际的标题,则可以将NSWindow标题文本设置为@""来隐藏它,并通过粘贴在您自己的视图中重新绘制标题文本。

[[[theWindow contentView] superview] addSubview:theSubview]; 

这基本上讲述的主要内容视图添加另一个子视图(直接“翻译”从代码)的上海华,你就会有这个新的子视图的框架鼓捣把它定位标题应放置在哪里(因为现在它可以自由放置在窗口框架的任何位置,包括标题栏顶部的,而不仅仅是在内容视图中)。

theSubview可以是你的弹出式菜单按钮,或任何你想要的,你也很有可能要自定义绘制弹出按钮,窗口标题的原始图纸相符。

1

您可以通过在IB窗口中添加工具栏来完成此操作。一旦添加了工具栏,您可以双击它打开它的定制器视图。将一个弹出式按钮拖动到“允许的工具栏项目”区域中,然后将其拖入到显示工具栏布局的底部区域 - 您也可以拖出您不想要的任何默认项目。

+0

工具栏不是我想要的。工具栏在窗口的标题下方。我想要的是将窗口的标题改为具有向下三角形的按钮,当点击时 - 打开菜单。 – Galfaroth

+0

那么你可能不得不与韦弗斯的想法一起去。他所访问的超级视图是NSThemeView--我不知道是否存在任何“危险”,因为这是一个苹果公司可能会改变的无证视图,但它应该能够让你看上你想要的样子。 – rdelmar