繁体   English   中英

如何在我的应用程序中显示NSPanel / NSWindow?

[英]How do I display an NSPanel/NSWindow to the side of my application?

所以基本上我已经建立了一个应用程序。 我想创建一个NSPanel或NSWindow,当点击一个按钮时,它基本上出现在我的应用程序的右侧。 然后在再次单击按钮时自动折叠。

我一直在谷歌搜索,但我觉得我不是在寻找合适的东西。

理想情况下,它将像[NSApp beginSheet]一样完全运行,除了它不会控制应用程序,它只是用户可以与之交互的另一个窗口。

我怎么能开始这个?

谢谢!

3年后。

  • 从库中拖动一个Window / Drawer组合,它将添加以下之一:A)Window。 B)抽屉视图C)抽屉控制器
  • 将新的D)Disclosure Triangle Button拖到主窗口上
  • 将C)抽屉控制器“切换:”(已接收的操作)绑定到D)显示三角形按钮(发送操作)

如果要将抽屉添加到现有窗口。

  • 从C)取消绑定A)窗口在Connections | Outlets中控制器的“parentWindow”出口。
  • 杀死A)窗口
  • 将你的窗口绑定到C)“parentWindow”Outlet。

答对了。 “披露”按钮将打开/关闭抽屉

边注:

抽屉概念与iPhone / iPad UI / UX发生冲突,因为没有任何可以滑入的空间。 在我看来,抽屉很酷。 杀手很容易添加。 窗户的尺寸完美。

听起来你想要一个抽屉(NSDrawer)。 抽屉已经不再受大多数应用程序设计师的青睐,但仍然是Mac OSX上Cocoa的官方支持部分。 您可以使用抽屉隐藏一堆您不希望一直混乱主窗口的控件。

在Xcode和标题下搜索“Drawer”,您将看到Drawers guide和DrawerMadness示例代码。 您只需很少的代码即可打开和关闭抽屉。

关于使用抽屉的良好的讨论

更通用的解决方案是子窗口。 它只是一个完全独立的窗口(可能没有标题栏)附加到您的文档或其他窗口(我假设“我的应用程序的权利”在您的问题中意味着“我的窗口右侧”)。 请参阅NSWindow addChildWindow的文档:ordered:即使拖动窗口,子窗口仍将保持附加到其父窗口。 但是儿童窗户比抽屉要多得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM