標籤:raw 利用 還原 div oid 儲存繪圖 清空 context res
- (void)drawRect:(CGRect)rect{ // 擷取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 儲存一份最純潔的圖形上下文 // 調用一次該方法就會拷貝一個上下文到棧中 CGContextSaveGState(ctx);//CGContextSaveGState(ctx); // 第一條線 // 利用圖形上下文儲存繪圖資訊 CGContextMoveToPoint(ctx, 150, 20); CGContextAddLineToPoint(ctx, 20, 100); // 設定第一條線的狀態 CGContextSetLineWidth(ctx, 10); CGContextSetLineCap(ctx, kCGLineCapRound); [[UIColor redColor] set]; // 渲染 CGContextStrokePath(ctx); // 還原開始儲存的那份最純潔的圖形上下文 CGContextRestoreGState(ctx); // 第二條線 CGContextMoveToPoint(ctx, 80, 30); CGContextAddLineToPoint(ctx, 80, 150); /* // 清空狀態 CGContextSetLineWidth(ctx, 5); CGContextSetLineCap(ctx, kCGLineCapButt); [[UIColor greenColor] set]; */ // 還原開始儲存的那份最純潔的圖形上下文 CGContextRestoreGState(ctx); /* // 第3條線 CGContextMoveToPoint(ctx, 200, 30); CGContextAddLineToPoint(ctx, 80, 150); */ // 渲染 CGContextStrokePath(ctx); }
IOS 圖形上下文棧