Мне нужно нарисовать две линии. могу ли я использовать один и тот же подкласс UIView, чтобы сделать оба розыгрыша? после того, как я создать UIViewdrawRect вызван после создания пользовательского интерфейса?
draw2D *myView = [[draw2D alloc] initWithFrame:myRect];
если я изменить способ использовать переменные, можно ли изменить эти значения и вызывать метод DrawRect нарисовать другую линию?
- (void)drawRect:(CGRect)rect
{
CGContextRef context01 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context01, 1.0);
CGContextSetStrokeColorWithColor(context01, [[UIColor blackColor]CGColor]);
CGContextMoveToPoint(context01, 0, 0);
CGContextAddLineToPoint(context01, 800, 0);
CGContextStrokePath(context01);
CGContextRef context02 = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context02, 1.0);
CGContextSetStrokeColorWithColor(context02, [[UIColor blackColor]CGColor]);
CGContextMoveToPoint(context02, 453, 0);
CGContextAddLineToPoint(context02, 453, 800);
CGContextStrokePath(context02);
}
но как я могу получить UIView для перерисовки? Я не верю, что могу напрямую вызвать метод drawRect, может ли я? – Padin215
См. Мой ответ выше. –
, вы не должны называть 'drawRect' напрямую. вместо этого сделайте недействительным его использование с помощью 'setNeedsDisplayInRect:' или 'setNeedsDisplay'. то система просмотра попросит вас сделать в нужное время. – justin