簡體   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