iOS 画地图上的标注气泡
2015-08-22 00:02
549 查看
先上图:
首先自定义一个View专门用来绘图的,可以把你想要的画所有图形都画在这里面。
上代码:
-(void)drawInContext:(CGContextRef)context{
//设置当前图形的宽度
CGContextSetLineWidth(context, 2.0);
//填充泡泡颜色并设置透明度
// CGContextSetFillColorWithColor(context, [UIColor colorWithRed:0.3 green:0.3 blue:0.3 alpha:0.8].CGColor);
//填充的颜色
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
}
-(void)getDrawPath:(CGContextRef)context{
//取出当前的图形大小
CGRect rrect = self.bounds;
NSLog(@”%f”, self.frame.size.width);
NSLog(@”%f”, self.frame.size.height);
}
“`
首先自定义一个View专门用来绘图的,可以把你想要的画所有图形都画在这里面。
上代码:
这个方法获取上下文。 - (void)drawRect:(CGRect)rect { [self drawInContext:UIGraphicsGetCurrentContext()]; self.layer.shadowColor = [[UIColor clearColor] CGColor]; self.layer.shadowOpacity = 1.0; self.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); }```
-(void)drawInContext:(CGContextRef)context{
//设置当前图形的宽度
CGContextSetLineWidth(context, 2.0);
//填充泡泡颜色并设置透明度
// CGContextSetFillColorWithColor(context, [UIColor colorWithRed:0.3 green:0.3 blue:0.3 alpha:0.8].CGColor);
//填充的颜色
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
// [self getDrawPath:context]; //填充形状内的颜色 CGContextFillPath(context);
}
-(void)getDrawPath:(CGContextRef)context{
//取出当前的图形大小
CGRect rrect = self.bounds;
NSLog(@”%f”, self.frame.size.width);
NSLog(@”%f”, self.frame.size.height);
//设置园弧度 CGFloat radius = 30.0; CGFloat minx = CGRectGetMinX(rrect),//0 //中点 midx = CGRectGetMidX(rrect),//100 //最大的宽度的X maxx = CGRectGetMaxX(rrect);//200 CGFloat miny = CGRectGetMinY(rrect),//0 //最大的高度Y maxy = CGRectGetMaxY(rrect)-kArrorHeight;//60 //1.画向下的三角形 //2.设置起点三角形的右边点为起点 CGContextMoveToPoint(context, midx+kArrorHeight, maxy); //3.连线 右边点 ->连最下面上下面的点 CGContextAddLineToPoint(context, midx, maxy+kArrorHeight);//画直线 //4.最下面的点连上 最左边的点。 CGContextAddLineToPoint(context, midx-kArrorHeight, maxy); //画4个圆弧 // CGContextAddArcToPoint(context, x1, y1, x2, y2, CGfloat radius );//画完后 current point不在minx,miny,而是在圆弧结束的地方 CGContextAddArcToPoint(context, minx, maxy, minx, miny, radius);//画完后 current point不在minx,miny,而是在圆弧结束的地方 CGContextAddArcToPoint(context, minx, miny, maxx, miny, radius); CGContextAddArcToPoint(context, maxx, miny, maxx, maxy, radius); CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius); CGContextClosePath(context);
}
“`
相关文章推荐
- iOS ItunesStore 首页推荐
- ios通讯录差异
- 以phoneGap作为承载容器是ios会上下滑动
- iOS高效编程秘诀—坚持好的编程习惯
- iOS开发所需英语词汇整理
- 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法)
- iOS逆向工程-动态分析
- iOS逆向工程-静态分析
- [IOS]CoreAnimation基础[翻译5部分]
- iOS7系统iLEX RAT冬青鼠安装教程:无需刷机还原纯净越狱系统
- iOS(总结)全局调试
- 【待整理】IOS开发之下载
- IOS——TableView 中利用Item模型进行 Cell 的开发(2)Item 模型篇
- iOS项目开发实战——使用代码实现页面跳转
- iOS 音频开发经验汇总
- iOS开发——多线程篇——RunLoop
- iOS开发相关图书推荐
- IOS学习之segmented control
- 【iOS程序启动与运转】- RunLoop个人小结
- [IOS]CoreAnimation基础[翻译4部分]