ios - Xcode 7 : Shadow does NOT show around UIView in Interface Builder

标签 ios xcode swift

我想看到我的 UIView 添加了阴影,就像下面 Storyboard中的示例图像一样。不幸的是,没有现有的选项来设置它。有没有办法使用键路径设置阴影,以便我可以在 Storyboard中查看阴影?

编辑:

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

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 让我可以立即看到变化,但 Storyboard中仍然没有阴影。这是它的屏幕截图:this

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

图片来源 @Wezly

example of shadow

最佳答案

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

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

关于ios - Xcode 7 : Shadow does NOT show around UIView in Interface Builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33939015/

相关文章:

ios - 根据速度更改快速的SKSprite节点动画

ios - UIPageViewController 具有以编程方式生成的 View 数组

网页和 IOS 应用程序之间的 Javascript 接口(interface)无法正常工作。为什么我的应用程序无法接收消息?

swift - Swift 中日期之间的天数

ios - 如何确定为什么iOS应用在启动时会在iOS 13上崩溃

mysql - 此要求的 SQL 查询

iphone - 如何使用NSRegularExpression从字符串中提取电子邮件地址

xcode - 为什么 OSX 不断要求为我已签名的应用程序提供防火墙许可?

objective-c - 应用委托(delegate) - Cocoa

ios - 如何实现 iPhone 照片编辑抽屉?