我想自定义在 OS X 上绘制窗口标题栏的方式。具体来说,我想做一些类似 Twitterrific 应用程序的事情,其中有一个自定义关闭按钮,没有最小/最大按钮,并且窗口标题文本是右对齐的。与 Twitterrific 不同,我不想自定义绘制整个窗口(尽管我也不完全反对)。
我已经在 Cocoa With Love 上看过 RoundWindow 示例以及 Apple 提供的 RoundTransparentWindow 示例,但似乎都不合适。
最佳答案
如果您不想使用无边框窗口类,那么您可以做一些事情。
首先,您可以使用 -[NSWindow standardWindowButton:]
自定义关闭/最小/最大按钮。获得按钮后,您可以定位/移除它/等等...
您可以通过将标题设置为@""
来自定义标题。然后你可以添加一个 NSTextField
通过执行以下操作来绘制你自己的标题 [[[NSWindow contentView] superview] addSubview:textField]
。
这可能是最简单的做事方式。
另一种方法是自定义绘制所有窗口标题栏等的 View ...
NSWindow 的内容 View 位于“主题 View ”中。您可以子类化主题 View 并进行自己的绘图。唯一的问题是主题 View 是私有(private)类,因此您必须小心。
关于objective-c - 如何在 Objective-C 中自定义绘制窗口标题栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665147/