在10.5及更高版本中,如何在按钮或标签周围绘制略微的白色“发光”?我已经看到一些应用程序可以做到这一点,但是我仍然困惑我该怎么做。

最佳答案

请参见NSShadow。您先create and set a shadowsaving your graphics context beforehand),然后绘制按钮的基本形状,取消设置(通过恢复图形上下文),然后照常继续绘制。

对于现成的控件,例如NSButton,您将需要subclass and override its cell drawing(并可能使NSButton控件本身更大一点,以容纳包围单元格“发光”所需的更大区域)。

您可以通过设置标签的字体阴影来避免使用标签,但是我不认为IB允许您这样做,因此您可以通过编程方式为标签赋予属性字符串(通过其-setAttributedString:方法)。这些属性将包括NSShadow(根据需要配置)作为NSShadowAttributeName。

10-07 18:20