gpt4 book ai didi

ios - 如何在 UIView 中绘制多个不同颜色的 UIBezierPath

转载 作者:技术小花猫 更新时间:2023-10-29 10:55:32 26 4
gpt4 key购买 nike

我想在一个 UIView 中用不同的描边和填充颜色绘制多个 UIBezierPath。

这是代码

- (void)drawRect:(CGRect)rect {

context = UIGraphicsGetCurrentContext();

[[UIColor grayColor] setFill];
[[UIColor greenColor] setStroke];

UIBezierPath *aPath = [[UIBezierPath alloc] init];
[aPath moveToPoint:CGPointMake(227,34.25)];
[aPath addLineToPoint:CGPointMake(298.25,34.75)];
[aPath addLineToPoint:CGPointMake(298.5,82.5)];
[aPath addLineToPoint:CGPointMake(251,83)];
[aPath addLineToPoint:CGPointMake(251,67.5)];
[aPath addLineToPoint:CGPointMake(227.25,66.75)];
[aPath closePath];
aPath.lineWidth = 2;
[aPath fill];
[aPath stroke];

UIBezierPath *aPath2 = [[UIBezierPath alloc] init];
[aPath2 moveToPoint:CGPointMake(251.25,90.5)];
[aPath2 addLineToPoint:CGPointMake(250.75,83.25)];
[aPath2 addLineToPoint:CGPointMake(298.5,83)];
[aPath2 addLineToPoint:CGPointMake(298.5,90.25)];
[aPath2 closePath];
aPath2.lineWidth = 2;
[aPath2 fill];
[aPath2 stroke];
[paths addObject:aPath2];

问题是描边和填充颜色是在当前上下文中设置的。是否可以在同一个 CGContextRef 中绘制不同颜色的不同 UIBezierPath?

或者我必须在单独的 UIView 中绘制每个 UIBezierPath?

最佳答案

你应该添加

[desiredStrokeColor setStroke];
[desiredFillColor setFill];

表示这些是必须在此上下文中进一步使用的新颜色。每次调用

之前都应该这样做
[aNewPath fill];
[aNewPath stroke];

以便用这些颜色绘制路径。

无需为每个贝塞尔曲线路径使用新 View 。

关于ios - 如何在 UIView 中绘制多个不同颜色的 UIBezierPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431005/

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