我有一个UITextView和一个WebView并排放置,我想给它们都添加一个投影效果。这是一个iPad应用程序,所以它们会旋转,因此在它们下面放置一个ImageView可能行不通。有什么好的想法吗?
我有一个UITextView和一个WebView并排放置,我想给它们都添加一个投影效果。这是一个iPad应用程序,所以它们会旋转,因此在它们下面放置一个ImageView可能行不通。有什么好的想法吗?
UIView有CALayer,而CALayer内置了一些阴影支持。尝试使用以下属性:
view.layer.shadowColor
view.layer.shadowOffset
view.layer.shadowOpacity
view.layer.shadowRadius
这可能会相当快地为您提供所需的内容。您可能需要 #import <QuartzCore/QuartzCore.h> 以使编译器理解正在发生的事情。
[myTextBox.layer setShadowColor:[[UIColor blackColor] CGColor]];
[myTextBox.layer setShadowOffset:CGSizeMake(1.0, 1.0)];
[myTextBox.layer setShadowOpacity:1.0];
[myTextBox.layer setShadowRadius:0.3];
但这仅适用于3.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
}