2

我已经尝试了一两天来尝试在 NSTextField 的文本内绘制阴影(并使前景色透明,所以你看到的只是文本内的阴影)。我还没有达到理想和实际的结果。我唯一的成功是将文本转换为NSBezerPath,从 NSTextFieldCell 的框架中减去它并使用该setClip方法进行剪辑(addClip在这种情况下还不够,它会留下背景)。不幸的是,将文本转换为 anNSBezerPath会使文本的边缘看起来参差不齐且过度拉直。是否有一种有效且体面的方法可以使用 CoreGraphics 蒙版和剪辑来实现这一点,因为我无法实现这一点。

我要寻找的一个非常相似的效果是在 Xcode IDE 中,如果您没有打开调试会话并转到调试器导航器,它会在子类 NSTextField 中显示“无调试会话”,它用 a 绘制文本里面的影子。这几乎就是我所追求的。关于从哪里开始以及如何做到这一点的任何见解都会很棒。

粘贴箱我当前的代码(工作,但次优,不工作): http: //pastebin.com/4pTv8ZWm

4

1 回答 1

1

你玩过 IB 中 NSTextField 的 shadow 属性吗?您应该能够在文本上使用稍微偏移的阴影效果以及正确混合 Alpha 透明度来获得非常接近的效果。

于 2013-02-12T22:20:30.153 回答