在不使用图像的情况下,在UILabel中绘制内部阴影的最简单方法是什么?
我知道你可以使用shadowColor和shadowOffset来实现投影,但是我没有看到内部阴影的任何这样的属性。
答案 0 :(得分:4)
查看FXLabel。我最近一直在使用它,效果很好。
答案 1 :(得分:1)
我不相信有任何简单的方法可以实现这种外观。您将需要使用图像或绘制阴影的自定义视图。
我会使用您最喜欢的图像编辑器来制作内部阴影的图像,该图像与透明度(或者如果您需要它的颜色)合成并将其加载到可伸展的UIImage中。例如,这里是一个内部阴影图像(17px x 17px):
您可以像这样加载:
UIImage* innerShadow = [ [ UIImage imageNamed: "innershadow.png" ]
stretchableImageWithLeftCapWidth: 8 topCapHeight: 8 ];
UIImageView* innerShadowView = [ [ [ UIImageView alloc ] initWithImage: innerShadow ]
autorelease ];
myLabel.backgroundColor = [ UIColor clearColor ];
然后将innerShadowView放在标签后面。如果您想避免使用图像资源,也可以以编程方式生成图像。
**基于评论的更新如下**
啊,根据您的最新评论,您所寻找的效果与之前评论中的图片完全不同。
在这种情况下,您必须创建一个UILabel子类并使用您自己的绘图来合成您要查找的效果。看看this answer如何合成内部阴影效果。
答案 2 :(得分:0)
你对内阴影的任何此类属性的意思。 shadowOffset是设置UILabel的阴影(垂直或水平阴影)的选项。
我不知道,但answer可能需要很长时间才能实现。