我已经尝试了一两天来尝试在 NSTextField 的文本内绘制阴影(并使前景色透明,所以你看到的只是文本内的阴影)。我还没有达到理想和实际的结果。我唯一的成功是将文本转换为NSBezerPath
,从 NSTextFieldCell 的框架中减去它并使用该setClip
方法进行剪辑(addClip
在这种情况下还不够,它会留下背景)。不幸的是,将文本转换为 anNSBezerPath
会使文本的边缘看起来参差不齐且过度拉直。是否有一种有效且体面的方法可以使用 CoreGraphics 蒙版和剪辑来实现这一点,因为我无法实现这一点。
我要寻找的一个非常相似的效果是在 Xcode IDE 中,如果您没有打开调试会话并转到调试器导航器,它会在子类 NSTextField 中显示“无调试会话”,它用 a 绘制文本里面的影子。这几乎就是我所追求的。关于从哪里开始以及如何做到这一点的任何见解都会很棒。
粘贴箱我当前的代码(工作,但次优,不工作): http: //pastebin.com/4pTv8ZWm