在NSWindow外面画画

pbx*_*pbx 4 macos user-interface cocoa objective-c nswindow

我理解如何 NSWindow框架绘制.但我不明白如何实现这样的事情,例如:

取自一个名为Eon的时间跟踪应用程序

如果我知道,如何调用,我可以进一步调查此事,但由于我不知道该寻找什么,这是不可能的.

我很欣赏任何暗示.

非常感谢.

小智 6

屏幕截图中的应用程序看起来像是使用自定义的NSDrawer.抽屉从窗户的一侧滑出,可以显示任何内容.

看一下文档,看看它是不是你想要的:https: //developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Drawers/Drawers.html#//apple_ref/doc/uid/10000001 -BABFIBIA

抽屉易于设置.但是,虽然您可以完全控制抽屉内的内容,但是如果不使用私有API(例如,屏幕截图中的参差不齐的边缘),您无法控制边框的外观.如果您想要更多控制,可以使用无边框子窗口.

这是一个无边框,完全自定义窗口的教程:http://cocoawithlove.com/2008/12/drawing-custom-window-on-mac-os-x.html

然后,您可以使用自定义窗口"附加"到父窗口-[NSWindow addChildWindow:ordered:].这将允许子窗口在移动时跟随父窗口.您仍然需要自己响应对父窗口大小的更改,以及其他一些属性的更改.