界面生成器中的 iOS 阴影 View

标签 ios swift xcode interface-builder

我正在尝试通过界面生成器向某些 View 添加阴影。我似乎无法让阴影影响我的观点。我查看的所有资源都指向相同的代码,因此我不确定我做错了什么。

界面生成器

Interface Builder

界面生成器扩展代码

import Foundation
import UIKit

extension UIView {

    //cut irrelevant code for SO Question

    @IBInspectable
    var masksToBounds: Bool {
        get {
            return layer.masksToBounds
        }
        set {
            layer.masksToBounds = newValue
        }
    }


    // Shadow handling
    @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
            }
        }
    }

    @IBInspectable
    var shadowOpacity: Float {
        get {
            return layer.opacity
        }
        set {
            layer.opacity = newValue
        }
    }


    @IBInspectable
    var shadowRadius: CGFloat {
        get {
            return layer.shadowRadius
        }
        set {
            layer.shadowRadius = newValue
        }
    }

    @IBInspectable
    var shadowOffset: CGSize {
        get {
            return layer.shadowOffset
        }
        set {
            layer.shadowOffset = newValue
        }
    }


}

View 布局

enter image description here

这就是结果

enter image description here

最佳答案

您的 shadowOpacity 属性正在访问错误的图层属性。它正在访问应该是layer.shadowOpacitylayer.opacity。另外,您的 shadowRadius 太大了,可能应该在 5 左右(当然,这取决于您的用途),而不是 500。

关于界面生成器中的 iOS 阴影 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50441195/

相关文章:

ios - 在没有自己的服务器的情况下通过推送通知通知其他客户端?

ios - 如果当前 View Controller 被呈现并被推送,如何展开到正确的 View Controller ?

ios - UiViewController 需要很长时间才能显示

ios - 从 iTunes Connect 中删除新的应用程序版本

ios - 回合制游戏中心在离线时显示不正确的游戏状态

iOS:Google+ 按钮在 XIB 文件中不起作用?

ios - 如何将 AVAsset 转换为 NSData 或将其保存到文件管理器

ios - Xcode 没有输出

ios - 如何去除 iOS App 上的黑条 WebView?

ios - 设置 JTCalendar 单元格的大小