创建半透明窗口的最佳方法是什么,它有圆角,边框和箭头周围有轮廓,但没有标题栏和按钮。
当用户点击菜单栏图标时,窗口将从菜单栏弹出。
我希望效果类似于"应用程序"和"下载"窗口:
我想我自己需要画画。但是我想知道最好的方法是什么,以及Cocoa中是否有任何可以减少工作量的东西?或者可能已经完成了第三方项目(无法找到完全相同的东西)?
感谢。
答案 0 :(得分:1)
您可以使用
创建窗口 - (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)windowStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
使用NSBorderlessWindowMask
的样式掩码,它将提供一个朴实无华的窗口。它的Dock如何运用它的机制。
请注意,您必须使用此样式初始化,否则无法更改已初始化的Windows样式。
通过NSView
访问者将自定义contentView
与所需的背景自定义绘图放在Windows视图堆栈的顶部。
您可能还需要setOpaque
到NO
答案 1 :(得分:1)
你正在寻找的东西已经做了很多。真的太多了。 您要查看的课程如下。
NSStatusItem 这是出现在右侧菜单栏的状态栏部分中的内容。
NSMenu 如果您希望从应用程序菜单中的菜单中进行此操作,则需要在菜单中对视图执行一些巧妙的操作。
NSWindow 正如另一张海报所说,无边框窗口是实现这一目标的一种方式。
NSPopover 这是另一种方式。结合上述内容,一种奇特的技术是使用一个称为封面窗口的清晰窗口,然后在单击菜单或状态菜单时,从透明封面窗口中的下方点调用弹出窗口。
这应该足以让你开始研究你应该研究的内容。
除此之外,仔细阅读Mac App Store并查看cocoacontrols.com和GitHub。