如何在 iPhone/iOS 中在 UIView 下绘制阴影?
为了使我们的用户界面更具吸引力,我们必须在 iOS 开发中尝试多种属性。要在视图周围或视图下方绘制阴影,我们必须试验图层和视图。
让我们通过两种方式来实现这一点。
方法 1 − 只需在任何需要的地方进行编码。
self.layer.masksToBounds = NO; self.layer.cornerRadius = 2; self.layer.shadowOffset = CGSizeMake(-5, 10); self.layer.shadowRadius = 3; self.layer.shadowOpacity = 0.3;
方法 2 − 创建 IBDesignable 和 IBInspectable,并与故事面板一起使用。
@IBDesignable
class DesignableView: UIView { }
extension UIView {
@IBInspectable
var shadowRadius: CGFloat {
get {
return layer.shadowRadius
}
set {
layer.shadowRadius = newValue
}
}
@IBInspectable
var shadowOpacity: Float {
get {
return layer.shadowOpacity
}
set {
layer.shadowOpacity = newValue
}
}
@IBInspectable
var shadowOffset: CGSize {
get {
return layer.shadowOffset
}
set {
layer.shadowOffset = newValue
}
}
@IBInspectable
var shadowColor: UIColor? {
get {
if let color = layer.shadowColor {
return UIColor(cgColor: color)
}
return nil
}
set {
if let color = newValue {
layer.shadowColor = color.cgColor
} else {
layer.shadowColor = nil
}
}
}
}我们可以使用上面针对 UIView 的扩展,使所有故事面板都可以访问这些属性,并在无需运行就能在设备上看到结果的情况下尝试各种设计。这些更改将在故事面板上实时进行。下面是一个示例。

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP