【问题标题】:How to draw text inner shadow on Cocoa for Mac OS X如何在 Cocoa for Mac OS X 上绘制文本内阴影
【发布时间】:2012-02-03 20:42:55
【问题描述】:

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

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

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

【问题讨论】:

    标签: cocoa core-graphics quartz-graphics


    【解决方案1】:

    你可能想得太复杂了。如果我解决了您的问题,那么您唯一真正想做的就是设置文本样式。然后只需使用:

    [[object cell] setBackgroundStyle:NSBackgroundStyleRaised];
    

    object 是 NSTextField 类的一个实例。

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

    优点:您有一个适当的 NSTextField 实例,而无需对其进行子类化或执行其他不需要的事情,例如在您自己的 NSView 子类中实现 NSTextField 所做的所有事情。

    【讨论】:

    • 谢谢!这正是我想要的。遗憾的是我不得不继承 NSView 并覆盖 drawrect 以达到类似的效果,肯定会考虑重构它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多