将Disclosure按钮和NSTextView添加到NSAlert

时间:2011-02-18 08:23:45

标签: objective-c cocoa macos nsalert

我想显示一个基本上是附件视图的NSAlert。附件视图需要具有:

1)NSTexView用于显示强制内容

2)使用NSTextView的披露按钮

隐藏按钮需要隐藏并显示第二个NSTextView。但是,与此同时,我希望NSAlert对话框调整大小以适应内容。 Cocoa中的Save对话框有一个公开按钮,基本上这样做,我想要与NSAlert相同的功能。 建议?

1 个答案:

答案 0 :(得分:2)

你走了:

1)NSAlert有一个窗口属性。因此使用它。

2)创建一个自定义配件视图,其中包含两个NSTextView和一个显示三角形

3)将此自定义视图设置为NSAlert的附件视图

4)在显示警报之前,在自定义视图中设置NSAlert的窗口属性(这样,当您单击显示三角形时,您将可以访问NSAlert的窗口)

5)为公开按钮事件添加目标并保存状态(展开/折叠)

6)如果显示三角形,请单击:使用NSAlert保存的窗口框架调整NSAlert的高度,大小和宽度。

7)重要的是要注意 - 当你调整高度时,NSAlert会从顶部增长,因此你需要相应地移动“原点”。

希望这会有所帮助:)。我不得不花费整个周末来弄清楚如何做到这一点:D。 顺便说一句,出于好奇心,您正在研究哪个项目或公司?