0

我正在尝试制作我的第一个 Cocoa 应用程序(以前我正在制作 iOS 应用程序),我希望为我的自定义视图做的是让它的标题可点击,指示器(附件)三角形朝下。单击标题将打开包含我的项目的弹出/菜单。

这在 Cocoa 中是如何实现的?

4

2 回答 2

1

您可以通过在 IB 的窗口中添加工具栏来做到这一点。添加工具栏后,您可以双击它以打开它的定制器视图。将弹出按钮拖到允许的工具栏项目区域,然后将其插入那里后,您可以将其拖到显示工具栏布局的底部区域 - 您也可以拖出任何您不想要的默认项目.

于 2012-06-03T16:31:36.930 回答
1

Rdelmar 的答案可能是最简单的方法,但可能不会完全按照您的意愿去做(即用弹出项目替换实际标题,而不是在工具栏区域的标题下方有一个弹出按钮)。就功能而言,您的应用程序使用工具栏可能也能正常工作。

然而,如果你真的想替换实际的标题,解决这个问题的方法是将NSWindow标题文本设置@""为隐藏它,并通过粘贴在你自己的视图中来重新绘制它。

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

这基本上告诉主要内容视图的超级视图添加另一个子视图(直接从代码“翻译”),并且您必须修改这个新子视图的框架以将其定位在标题应该定位的位置(因为现在它可以自由放置在窗口框架中的任何位置,包括标题栏顶部,而不是简单地放在内容视图内)。

theSubview可以是您的弹出按钮,也可以是您想要的任何东西,而且您可能还必须自定义绘制弹出按钮以匹配窗口标题的原始绘图。

于 2012-06-03T16:50:30.383 回答