代碼在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()
效果圖
