【问题标题】:Adding Disclosure button and NSTextView to NSAlert将披露按钮和 NSTextView 添加到 NSAlert
【发布时间】:2011-02-18 08:23:45
【问题描述】:

我想显示一个带有附件视图的 NSAlert。附件视图需要:

1) NSExView 用于显示强制内容

2) 带有 NSTextView 的披露按钮

Disclosure 按钮是隐藏和显示第二个 NSTextView 所必需的。但是,同时我希望 NSAlert 对话框调整大小以适应内容。 Cocoa 中的“保存”对话框有一个披露按钮,基本上可以做到这一点,我想要与 NSAlert 相同的功能。 有什么建议吗?

【问题讨论】:

  • 你能做到吗?
  • 你能发布一些你是如何实现这个的逻辑

标签: objective-c cocoa macos nsalert


【解决方案1】:

给你:

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

2) 创建一个包含两个 NSTextView 和一个显示三角形的自定义附件视图

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

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

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

6) 在显示三角形点击事件中:使用 NSAlert 保存的窗口框架来调整 NSAlert 的高度、大小和宽度。

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

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

【讨论】:

  • 如何设置NSAlert的window属性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
相关资源
最近更新 更多