我已经尝试了一两天尝试在NSTextField的文本中绘制阴影(并使前景色透明,所以你看到的只是文本中的阴影)。我还没有达到理想和实用的结果。我唯一的成功就是将文本转换为NSBezerPath
,从NSTextFieldCell的框架中减去它,并使用setClip
方法进行裁剪(addClip
在这种情况下不够用,它留下了背景画)。不幸的是,将文本转换为NSBezerPath
会使文本的边缘看起来呈锯齿状并过度拉直。有没有一种有效且体面的方法来使用CoreGraphics蒙版和剪辑来实现这一点,因为我无法实现这一点。
我要寻找的非常类似的效果是在Xcode IDE中,如果你没有打开调试会话并转到调试器导航器,它会在子类NSTextField中显示“No Debug Session”带有阴影的文本。这几乎就是我所追求的。任何有关如何开始以及如何做到这一点的见解都会很棒。
粘贴垃圾箱我当前的代码(工作,但次优,和不工作):http://pastebin.com/4pTv8ZWm
答案 0 :(得分:1)
你在IB中玩过NSTextField的shadow属性吗?使用alpha透明度的正确混合对文本稍微偏移阴影效果,你应该能够非常接近。