如何在 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 的扩展,使所有故事面板都可以访问这些属性,并在无需运行就能在设备上看到结果的情况下尝试各种设计。这些更改将在故事面板上实时进行。下面是一个示例。
广告