代码在playground中实现
//: Playground - noun: a place where people can playimport UIKitclass MyView : UIView{ override func drawRect(rect: CGRect) { //获取绘制上下文 var context = UIGraphicsGetCurrentContext() //计算要在其中绘制的矩形 var pathRect = CGRectInset(self.bounds, self.bounds.size.width*0.1, self.bounds.size.height*0.1) //创建一个圆角矩形路径 var rectanglePath = UIBezierPath(roundedRect: pathRect, cornerRadius: 20) //等价于保存上下文 CGContextSaveGState(context) //准备阴影 var shadow = UIColor.blackColor().CGColor var shadowOffset = CGSize(width: 3, height: 3) var shadowBlurRadius : CGFloat = 5.0 //此函数创建和应用阴影 CGContextSetShadowWithColor(context, shadowOffset, shadowBlurRadius, shadow) //绘制路径;它将带有一个阴影 UIColor.redColor().setFill() rectanglePath.fill() //等价于重载上下文 CGContextRestoreGState(context) }}let viewRect = CGRect(x: 0, y: 0, width: 100, height: 100)let myEmptyView = MyView(frame:viewRect)myEmptyView.backgroundColor = UIColor.clearColor()
效果图