我正在使用 UIBezeirPath,并且在我的 drawRect 方法中,我采用了硬编码的颜色以通过以下方式为我的路径(线)设置描边
- (void)drawRect:(CGRect)rect
{
[[UIColor redColor] setFill];
for (UIBezierPath *_path in pathArray)
{
[_path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];
}
}
这工作正常并为我绘制的路径(线)设置红色。现在当我从颜色选项中选择不同颜色时,假设我选择蓝色,现在当我开始绘制路径时,颜色为蓝色,但之前绘制的红线也变为蓝色。这就是整个问题
下面是我的代码我如何设置不同的颜色
- (void)drawRect:(CGRect)rect
{
if(changecolor)
{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
strokeColor = appDelegate.color;
NSLog(@"%@",strokeColor);
SEL blackSel = NSSelectorFromString(strokeColor);
UIColor* tColor = nil;
if ([UIColor respondsToSelector: blackSel])
tColor = [UIColor performSelector:blackSel];
[tColor setStroke];
[tColor setFill];
}
else
{
[[UIColor redColor] setStroke];
[[UIColor redColor] setFill];
for (UIBezierPath *_path in pathArray)
{
[_path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];
}
}
}
无论我这样做是正确的,还是我错过了什么。请帮帮我
问候兰吉特