override func drawRect(rect: CGRect) {
drawGrid()
//1.
let context = UIGraphicsGetCurrentContext()
//2.繪制矩形
CGContextAddRect(context, CGRect(x: 100, y: 100, width: 100, height: 200))
CGContextAddRect(context, CGRect(x: 150, y: 200, width: 100, height: 200))
//繪制橢圓
CGContextAddEllipseInRect(context, CGRect(x: 0, y: 0, width: 100, height: 200))
CGContextAddEllipseInRect(context, CGRect(x: 200, y: 200, width: 100, height: 100))
//繪制圓弧
CGContextAddArc(context, 100, 100, 100, 0, CGFloat(M_PI_2), 1)
//注意當前點的存在
CGContextAddArcToPoint(context, 300, 200, 300, 400, 100)
//貝茲曲線(貝塞爾曲線)
//二次貝茲曲線: 第一個坐標為控制點,第二個坐標為終止點
CGContextAddQuadCurveToPoint(context, 50, 0, 400, 300)
CGContextMoveToPoint(context, 0, 300)
//三次貝茲曲線: 第一個坐標為第一控制點,第二個坐標為第二控制點,第三個坐標為終止點
CGContextAddCurveToPoint(context, 50, 100, 250, 200, 300, 300)
//
CGContextSetStrokeColor(context, [1, 0, 0, 1])
//只繪制邊框
// CGContextStrokePath(context)
//只填充
// CGContextFillPath(context)
//
CGContextSetFillColor(context, [1, 1, 0, 1])
//非零環(huán)繞數(shù)
//Even-Odd
CGContextDrawPath(context, .EOFillStroke)
}
//畫坐標軸
func drawGrid() {
//1. 獲取上下文
let context = UIGraphicsGetCurrentContext()
var y: CGFloat = 50
while y < self.bounds.size.height {
//2. 開始,設置繪制起點
CGContextMoveToPoint(context, 0, y)
//3. 往上下文上添加圖形
CGContextAddLineToPoint(context, self.bounds.size.width, y)
y += 50
}
var x: CGFloat = 50
while x < self.bounds.size.width {
//2. 開始,設置繪制起點
CGContextMoveToPoint(context, x, 0)
//3. 往上下文上添加圖形
CGContextAddLineToPoint(context, x, self.bounds.size.height)
x += 50
}
//保存當前的上下文狀態(tài)
CGContextSaveGState(context)
//4. 設置顏色、樣式、尺寸
CGContextSetLineWidth(context, 1)
CGContextSetLineDash(context, 0, [4, 10], 2)
// CGContextSetLineCap(context, .Round)
// CGContextSetStrokeColorWithColor(context, UIColor.redColor().CGColor)
CGContextSetStrokeColor(context, [0, 1, 0, 1])
//5. 繪制
CGContextStrokePath(context)
//恢復到上次保存時的狀態(tài)
CGContextRestoreGState(context)
}
畫圖ii
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- 為什么管理人員都喜歡用Visio畫圖?其實有原因的: 在這里,我歸納為以下幾點: 形狀數(shù)據(jù)一體化,這是管理者最喜歡...
- 一、響應事件蘋果手機可以響應的事件:1.觸摸事件:Multitouch events2.加速計事件:Acceler...
- 小臉、V臉不管過多少季度它們永遠是王道,大餅臉是沒有活路可言的~不過這不是沒道理的,來看看大餅臉到底多鬧心~ 明明...