代码在playground中实现
//: Playground - noun: a place where people can play
import UIKit
class 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()
效果图

原文:http://www.cnblogs.com/torrescx/p/5364314.html