我正在使用核心图形制作各种形状的气泡。
然而,我不确定如何制造思想泡泡。
我从矩形中制作了圆角矩形。我是否使用相同的方法
制造思想泡泡还是有其他方法吗?
答案 0 :(得分:4)
我认为您可以将此作为初步指导,然后以此为基础:
How to draw an oval speech bubble programmatically on iPhone?
samfu_1 从该帖子的回答
我会在两次迭代中完成。首先获取上下文并开始 路径。填充椭圆,然后填充包含三角形的自定义路径 有三条线。我假设以下尺寸:70宽度,62 高度。覆盖UIView的子类中的draw rect并实例化 子类UIViewController:
-(void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextSetRGBFillColor(ctx, 0.0, 0.0, 1.0, 1.0); CGContextFillEllipseInRect(ctx, CGRectMake(0.0, 0.0, 70.0, 50.0)); //oval shape CGContextBeginPath(ctx); CGContextMoveToPoint(ctx, 8.0, 40.0); CGContextAddLineToPoint(ctx, 6.0, 50.0); CGContextAddLineToPoint(ctx, 18.0, 45.0); CGContextClosePath(ctx); CGContextFillPath(ctx); }
在灰色时加入iPhone模拟器中生成此功能 背景:
这第二个代码示例几乎会复制您生成的内容 以上。我使用可提供的灵活尺寸实现了这一点 实例化它时到UIView框架。基本上,白色 讲话泡泡的一部分是用黑色笔画画出来的 跟随。
-(void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGRect aRect = CGRectMake(2.0, 2.0, (self.bounds.size.width * 0.95f), (self.bounds.size.width * 0.60f)); // set the rect with inset. CGContextSetRGBFillColor(ctx, 1.0, 1.0, 1.0, 1.0); //white fill CGContextSetRGBStrokeColor(ctx, 0.0, 0.0, 0.0, 1.0); //black stroke CGContextSetLineWidth(ctx, 2.0); CGContextFillEllipseInRect(ctx, aRect); CGContextStrokeEllipseInRect(ctx, aRect); CGContextBeginPath(ctx); CGContextMoveToPoint(ctx, (self.bounds.size.width * 0.10), (self.bounds.size.width * 0.48f)); CGContextAddLineToPoint(ctx, 3.0, (self.bounds.size.height *0.80f)); CGContextAddLineToPoint(ctx, 20.0, (self.bounds.size.height *0.70f)); CGContextClosePath(ctx); CGContextFillPath(ctx); CGContextBeginPath(ctx); CGContextMoveToPoint(ctx, (self.bounds.size.width * 0.10), (self.bounds.size.width * 0.48f)); CGContextAddLineToPoint(ctx, 3.0, (self.bounds.size.height *0.80f)); CGContextStrokePath(ctx); CGContextBeginPath(ctx); CGContextMoveToPoint(ctx, 3.0, (self.bounds.size.height *0.80f)); CGContextAddLineToPoint(ctx, 20.0, (self.bounds.size.height *0.70f)); CGContextStrokePath(ctx); }
修改强>
此外,您可以参考 Brad Larson 在这篇文章中的答案
How to draw a "speech bubble" on an iPhone?
希望这会对你有所帮助。
如果您需要更多帮助,请与我联系。