2010-04-01 58 views

回答

12

UIViews有CALayers,有一些内置的影子支持。试试这些属性:

view.layer.shadowColor 
view.layer.shadowOffset 
view.layer.shadowOpacity 
view.layer.shadowRadius 

这可能会让你很快就需要你。您可能需要#import <QuartzCore/QuartzCore.h>以使编译器了解正在发生的事情。

+0

之所以能够弄明白。谢谢! – user288225 2010-04-03 05:41:12

+4

小心发布您的解决方案?被接受的答案似乎并不适用于我写的。 – typeoneerror 2010-04-04 19:31:37

+1

太棒了!如果你是一个女人,我现在会建议! :-) 谢谢! – SpaceDog 2010-06-18 00:08:04

7

的解决办法是像

[myTextBox.layer setShadowColor:[[UIColor blackColor] CGColor]]; 
[myTextBox.layer setShadowOffset:CGSizeMake(1.0, 1.0)]; 
[myTextBox.layer setShadowOpacity:1.0]; 
[myTextBox.layer setShadowRadius:0.3]; 

但这只是适用于OS 3.2及以上。

1

我会添加一个位于文本字段后面的视图,并将阴影效果应用于该视图。这样阴影不随内容移动。

2

这里是SWIFT版本:

func applyDropShadow() { 
    textView.layer.shadowColor = UIColor.blackColor().CGColor 
    textView.layer.shadowOffset = CGSizeMake(3, 3) 
    textView.layer.shadowOpacity = 0.7 
    textView.layer.shadowRadius = 8.0 
    textView.clipsToBounds = false 

} 
+0

谢谢你 - 没有clipsToBounds影子没有出现在我身上。 – BeneGal 2016-11-17 16:35:55