如何在Mac OS X的Cocoa上绘制文字内部阴影

4

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

我正在子类化NSView,以创建一个具有渐变背景和覆盖其上的带有内部阴影文本标题的占位符控件。

目前stackoverflow上所有有关Core Graphics的答案似乎都是解释如何在Cocoa Touch上绘制文本阴影。

1个回答

4
你可能想得太复杂了。如果我理解你的问题正确,你实际上只想设置文本样式。那么只需使用以下方法即可进行设置:
[[object cell] setBackgroundStyle:NSBackgroundStyleRaised];

这里的object是NSTextField类的一个实例。

这个处理过程对你来说是无需操心的。例如,你可以使用带有NSGradient的自定义视图来访问你的渐变背景。请参见这里

优点:你拥有了一个完整的NSTextField实例,无需子类化或在NSView子类中自己实现NSTextField所做的其他不必要的事情。


谢谢!这正是我想要的。不幸的是,我不得不子类化NSView并覆盖drawrect以实现类似的效果,但我一定会考虑重构它。 - Nicholas Credli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接