Я пытаюсь нарисовать бар. Я установил цвет и цвет заливки. Хотя я устанавливаю путь с цветом заливки, его не заполняется. Этот код рисует прямоугольник.Путь не заполняется цветом
blocks = yValue/yInterval; //Total number of blocks
divider = (self.bounds.size.height * 0.75 - 100)/ blocks ;//height for each block
float factor = value/yValue;
//NSLog(@"%f",factor);
int size = 40;
[[UIColor redColor] setFill];
[[UIColor redColor] setStroke];
UIBezierPath *path = [[UIBezierPath alloc]init];
CGPoint x1 = CGPointMake(0 + 100 + (index * size), self.bounds.size.height * 0.75);
CGPoint x2 = CGPointMake(x1.x + size,self.bounds.size.height * 0.75);
// float height = (self.bounds.size.height * 0.75) - ((self.bounds.size.height * 0.75) * factor) + 5;
float height = self.bounds.size.height * 0.75 - (divider * factor * blocks);
CGPoint y1 = CGPointMake(x1.x, height);
CGPoint y2 = CGPointMake(x2.x, height);
[path moveToPoint:x1];
[path addLineToPoint:x2];
[path moveToPoint:x2];
[path addLineToPoint:y2];
[path moveToPoint:y2];
[path addLineToPoint:y1];
[path moveToPoint:y1];
[path addLineToPoint:x1];
[path closePath];
[path fill];
[path stroke];`
Вы уверены, что код работает? является ли контекст действительным? является ли слой/вид, где вы рисуете, видимым и имеющим ненулевой размер? он подключен? – nielsbot
Да, это так. У меня есть этот код в методе, который вызывается из метода drawRect. –