iOS中核心绘图Core Graphics的小试
2016-01-28 16:18
393 查看
- (void)drawRect:(CGRect)rect{ CGContextRef ctxt = UIGraphicsGetCurrentContext(); CGContextSaveGState(ctxt); CGContextSetLineWidth(ctxt, 0.1f); CGFloat radius = 8.0f; if (_first) { radius = 8.0f; [[UIColor redColor] setFill]; }else{ radius = 5.0f; [[UIColor lightGrayColor] setFill]; } CGContextAddArc(ctxt, 17, 20, radius, 0, 2*M_PI, YES); CGContextFillPath(ctxt); CGContextRestoreGState(ctxt); CGContextSaveGState(ctxt); [[UIColor lightGrayColor] setStroke]; if (!_first) { CGContextMoveToPoint(ctxt, 17, 0); CGContextAddLineToPoint(ctxt, 17, 15); } if (_first) { CGContextMoveToPoint(ctxt, 17, 28); CGContextAddLineToPoint(ctxt, 17, self.height); } if (!_last && !_first) {//下面的线 CGContextMoveToPoint(ctxt, 17, 25); CGContextAddLineToPoint(ctxt, 17, self.height); } CGContextStrokePath(ctxt); CGContextRestoreGState(ctxt); //方法二: // UIBezierPath *path = [UIBezierPath bezierPath];//贝塞尔会自动获取上下文 // // [path setLineWidth:0.2f]; // CGFloat radius = 8.0f; // if (_first) { // radius = 8.0f; // [[UIColor redColor] setFill]; // }else{ // radius = 5.0f; // [[UIColor lightGrayColor] setFill]; // } // [path addArcWithCenter:CGPointMake(17, 20) radius:radius startAngle:0 endAngle:360 clockwise:YES]; // [path fill]; // // // [[UIColor blackColor] setStroke]; // if (!_first) { // [path moveToPoint:CGPointMake(17, 0)]; // [path addLineToPoint:CGPointMake(17, 15)]; // } // // if (!_last) { // [path moveToPoint:CGPointMake(17, 25)]; // [path addLineToPoint:CGPointMake(17, self.height)]; // } // // [path stroke]; }
效果:
相关文章推荐
- iOS 制作的framework里使用国际化方案
- Win7+虚拟机OS X 10.11.3+Xcode7.0.1+未越狱iPhone4+iOS7.1.2真机调试及生成ipa包(2016-1-22 19:09)
- IOS随机产生字符串,数字
- iOS 字体
- iOS NSURLSession
- ios 查看模拟器路径以及应用的文件夹
- iOS-NSComparisonResult和NSComparator介绍,比较,排序
- IOS语音集成
- iOS---近来开发中的一些收获
- iOS主题皮肤切换示例Demo下载 一步一步实现主题切换
- 移动web ios
- iOS毛玻璃效果
- iOS上如何让按钮文本左对齐问题
- IOS仿今日头条滑动导航栏
- 关于iOS中的NSURLSession
- iOS开发手写分页
- iOS仿今日头条滑动导航
- iOS CloudKit与Core Data、商业后端服务、自己的服务器相比优势
- iOS---免费获取邓白氏编码
- 坑爹的QQ分享