【问题标题】:Xcode 7: Shadow does NOT show around UIView in Interface BuilderXcode 7:界面生成器中的 UIView 周围不显示阴影
【发布时间】:2015-12-04 23:25:31
【问题描述】:

我想看到我的 UIView 添加了阴影,就像下面故事板中的示例图片一样。不幸的是,没有设置它的现有选项。有没有办法使用 keypath 设置阴影,以便我可以在情节提要中查看阴影?

编辑:

我尝试使用以下代码渲染阴影:

import Foundation
import UIKit

@IBDesignable

class ShadowedView: UIView {

    override func layoutSubviews() {
        super.layoutSubviews()

        let shadowPath = UIBezierPath(rect: self.bounds)
        self.layer.masksToBounds = false
        self.layer.shadowColor = UIColor.blackColor().CGColor
        self.layer.shadowOffset = CGSize(width: 0, height: 0.5)
        self.layer.shadowOpacity = 0.2
        self.layer.shadowPath = shadowPath.CGPath
        self.clipsToBounds = false

    }
}

@IBDesignable 让我可以立即看到更改,但故事板中仍然没有阴影。这是它的截图:

结果应该是示例图像。谢谢!

图片归功于@Wezly

【问题讨论】:

    标签: ios xcode swift


    【解决方案1】:

    您需要根据需要覆盖 drawRect:prepareForInterfaceBuilder。您可以在文档中阅读更多内容:https://developer.apple.com/library/ios/recipes/xcode_help-IB_objects_media/Chapters/CreatingaLiveViewofaCustomObject.html

    底线:您必须将在drawRect: 方法中发布的代码添加到注释为IBDesignable 的自定义视图中,Interface Builder 将为您呈现它。

    【讨论】:

    • 嗨。我已经尝试了prepareForInterfaceBuilderdrawRect 功能,但无济于事。 IB 是否允许在设计时显示阴影?
    • 好吧,从我同时尝试的方法来看,我设法显示阴影,但只有当我也圆角时。如果您仍然感兴趣,我可以发布代码。
    • 相同。但不幸的是,我的观点不是圆角。我想这是一个错误,那么如果它显示在一种状态而不是另一种状态?
    • 也许吧。老实说,我还没有检查是否有雷达申请。如果没有,可能值得提交一份,即使只是知道它不是由选择支持的。
    猜你喜欢
    • 2020-01-11
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2017-02-11
    相关资源
    最近更新 更多