Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在应用程序一侧显示NSPanel/NSWindow?_Objective C_Xcode_Macos - Fatal编程技术网

Objective c 如何在应用程序一侧显示NSPanel/NSWindow?

Objective c 如何在应用程序一侧显示NSPanel/NSWindow?,objective-c,xcode,macos,Objective C,Xcode,Macos,所以基本上我已经建立了一个应用程序。我想创建一个NSPanel或NSWindow,当单击按钮时,它基本上会显示在我的应用程序的右侧。当再次单击按钮时,它会自动折叠 我一直在谷歌上随意搜索,但我觉得我没有在寻找正确的东西 理想情况下,它的操作与[NSApp beginSheet]完全相同,只是它不会控制应用程序,它只是用户可以与之交互的右侧的另一个窗口 我怎样才能开始呢 谢谢 听起来你想要一个抽屉。抽屉已经不再受到大多数应用程序设计师的青睐,但仍然是MacOSX上Cocoa的官方支持部分。你可以用

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

我一直在谷歌上随意搜索,但我觉得我没有在寻找正确的东西

理想情况下,它的操作与[NSApp beginSheet]完全相同,只是它不会控制应用程序,它只是用户可以与之交互的右侧的另一个窗口

我怎样才能开始呢


谢谢

听起来你想要一个抽屉。抽屉已经不再受到大多数应用程序设计师的青睐,但仍然是MacOSX上Cocoa的官方支持部分。你可以用抽屉来隐藏一堆你不想一直把主窗口弄得乱七八糟的控件

在Xcode和标题下搜索“抽屉”,您将看到抽屉指南和抽屉性示例代码。你可以用一个按钮打开和关闭抽屉,代码很少

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

三年后

  • 从库中拖到窗口/抽屉组合上 这将添加一个:A)窗口。B) 抽屉视图(C)抽屉控制器
  • 将新的D)三角形按钮拖到主窗口上
  • 将C)抽屉控制器“切换:”(接收动作)绑定到D)披露三角按钮(发送动作)
如果要将抽屉添加到现有窗口中

  • 将A)窗口从C)控制器的“父窗口”出口的连接|出口中解开
  • 杀死那扇窗户
  • 将窗口绑定到“父窗口”插座
宾果。 披露按钮将打开/关闭抽屉

旁注:

抽屉的概念与iPhone/ipadui/UX相冲突,因为没有任何东西可以滑入其中。
在我看来,抽屉很酷。而且很容易添加。而且与窗口大小完全一致。

对于那些在删除上一个窗口后对如何将窗口绑定到父窗口感到困惑的人来说,在左边的占位符下,应该有一个带有抽屉的对象。单击抽屉以查看outlet Parents窗口。