2010-04-01 17 views

Odpowiedz

12

UIViews mają CALayers, które mają wbudowaną obsługę shadow. Wypróbuj te właściwości:

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

To może szybko dostarczyć Ci tego, czego potrzebujesz. Być może trzeba #import <QuartzCore/QuartzCore.h>, aby kompilator mógł zrozumieć, co się dzieje.

+0

Był w stanie zrozumieć. Dzięki! – user288225

+4

Chcesz opublikować swoje rozwiązanie? Przyjęta odpowiedź nie wydaje się działać tak jak napisałem. – typeoneerror

+1

fantastyczne! Gdybyś była kobietą, chciałbym teraz zaproponować! :-) dzięki! – SpaceDog

7

rozwiązaniem byłoby jak

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

ale to po prostu działa na OS 3.2 i wyżej.

1

Chciałbym dodać widok, który znajduje się za polem tekstowym i zastosować do tego efekty cienia. W ten sposób cień nie porusza się wraz z zawartością.

2

Oto szybka wersja:

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

Dziękuję za to - bez clipsToBounds cień nie pojawił się dla mnie. – BeneGal