【问题标题】:iOS shadow view in interface builder界面生成器中的 iOS 阴影视图
【发布时间】:2018-05-21 02:23:42
【问题描述】:

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

界面生成器

接口生成器扩展代码

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
        }
    }


}

视图布局

这是结果

【问题讨论】:

  • 500 点对于阴影半径来说太大了。你试过用 5 代替吗?
  • @TylerTheCompiler 是的,5 和 500 产生相同的结果

标签: ios swift xcode interface-builder


【解决方案1】:

您的shadowOpacity 属性访问了错误的图层属性。当它应该是layer.shadowOpacity 时,它正在访问layer.opacity。此外,您的 shadowRadius 太大了,应该是 5 左右(当然取决于您的目标),而不是 500。

【讨论】:

    【解决方案2】:

    我猜这是您添加阴影的自定义搜索栏。我猜它不可见的原因是因为您在控制器和情节提要中的视图都相同大小。尝试使情节提要视图中有一个容器视图,并在情节提要视图中添加一些填充,并将该阴影添加到该容器视图中。这可能会显示一些结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2014-11-30
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多