【发布时间】:2012-02-03 20:42:55
【问题描述】:
如何在 Cocoa for Mac OS X 中的文本上绘制内阴影?
我正在继承 NSView 以创建一个具有渐变背景和内部阴影文本标题的占位符控件。
stackoverflow 上所有当前的 Core Graphics 答案似乎都解释了在 Cocoa Touch 上绘制文本阴影。
【问题讨论】:
标签: cocoa core-graphics quartz-graphics
如何在 Cocoa for Mac OS X 中的文本上绘制内阴影?
我正在继承 NSView 以创建一个具有渐变背景和内部阴影文本标题的占位符控件。
stackoverflow 上所有当前的 Core Graphics 答案似乎都解释了在 Cocoa Touch 上绘制文本阴影。
【问题讨论】:
标签: cocoa core-graphics quartz-graphics
你可能想得太复杂了。如果我解决了您的问题,那么您唯一真正想做的就是设置文本样式。然后只需使用:
[[object cell] setBackgroundStyle:NSBackgroundStyleRaised];
object 是 NSTextField 类的一个实例。
这将为您处理一切。然后可以通过使用带有 NSGradient 的自定义视图来达到您的渐变背景。见here
优点:您有一个适当的 NSTextField 实例,而无需对其进行子类化或执行其他不需要的事情,例如在您自己的 NSView 子类中实现 NSTextField 所做的所有事情。
【讨论】: