gpt4 book ai didi

iphone - 如何在 iPhone 上以编程方式绘制椭圆形气泡?

转载 作者:太空狗 更新时间:2023-10-30 03:42:26 24 4
gpt4 key购买 nike

similar question 中显示的技术是一个矩形气泡。如何画一个椭圆形的?即:

〖〖〗enter image description here

最佳答案

我会分两次迭代完成。
首先获取上下文并开始路径。填充一个椭圆,然后填充一个用三条线包围三角形的自定义路径。我假定了以下尺寸:70 宽,62 高。在 UIView 的子类中覆盖绘制矩形并在子类 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 模拟器中生成:

enter image description here

第二个代码示例几乎可以复制您在上面生成的内容。我使用灵活的大小实现了这一点,在您实例化它时可以将其提供给 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);
}

enter image description here

关于iphone - 如何在 iPhone 上以编程方式绘制椭圆形气泡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com