如何在Cocoa for Mac OS X上绘制文本内部阴影

时间:2012-01-06 01:42:38

标签: cocoa core-graphics quartz-graphics

如何在Cocoa for Mac OS X中的文本上绘制内部阴影?

我正在继承NSView以创建一个带有渐变背景和内部阴影文本标题的占位符控件。

stackoverflow上的所有当前Core Graphics答案似乎都解释了在Cocoa Touch上绘制文本阴影。

1 个答案:

答案 0 :(得分:4)

你可能认为太复杂了。如果我的问题正确,那么你真正想要做的就是设置文本样式。然后只需使用:

即可
[[object cell] setBackgroundStyle:NSBackgroundStyleRaised];

其中object是NSTextField类的实例。

这会为您处理一切。然后可以通过使用带有NSGradient的自定义视图来达到渐变背景。见here

优点:您有一个正确的NSTextField实例,无需对其进行子类化或执行其他不需要的操作,例如在您自己的NSView子类中实现NSTextField所执行的所有操作。