Моя попытка рисовать линии UIBezierPath с разными цветами не позволяет мне. Все линии меняются на текущий выбранный цвет. Весь мой путь и информация хранятся в NSMutableArray с именем pathInfo. В информации о пути я падаю в массив, содержащий Path, Color, Width и Type of line. Это прекрасно работает, за исключением того, что все линии обращаются к какому-либо цвету, выбранному пользователем. Я был бы признателен за любую помощь!UIBezierPath Multiple Line Colors
- (void)drawRect:(CGRect)rect {
UIBezierPath *drawPath = [UIBezierPath bezierPath];
drawPath.lineCapStyle = kCGLineCapRound;
drawPath.miterLimit = 0;
for (int i = 0; i < [pathInfo count]; i++){
NSArray *row = [[NSArray alloc] initWithArray:[pathInfo objectAtIndex:i]];
NSLog(@"Path: %@",[row objectAtIndex:0]);
NSLog(@"Color: %@",[row objectAtIndex:1]);
NSLog(@"Width: %@",[row objectAtIndex:2]);
NSLog(@"Type: %@",[row objectAtIndex:3]);
//width
drawPath.lineWidth = [[row objectAtIndex:2] floatValue];
//color
[[row objectAtIndex:1] setStroke];
//path
[drawPath appendPath:[row objectAtIndex:0]];
}
UIBezierPath *path = [self pathForCurrentLine];
if (path)
[drawPath appendPath:path];
[drawPath stroke];
}
- (UIBezierPath*)pathForCurrentLine {
if (CGPointEqualToPoint(startPoint, CGPointZero) && CGPointEqualToPoint(endPoint, CGPointZero)){
return nil;
}
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:startPoint];
[path addLineToPoint:endPoint];
return path;
}
Пожалуйста, передайте мне свой полный код для этого, если это возможно. На самом деле я тоже сталкиваюсь с такой же проблемой. Но я использую touchhesBegan, касается методаMoved и касается метода AND. Я не могу этого сделать. – Abha