Нарисуйте анимированную линию для изменения скорости, используя CoreGraphics и CGContextAddLine.

Я создал приложение для iPhone, которое показывает вашу текущую скорость, используя CLLocation (фреймворк CoreLocation).

 - (void)locationUpdate:(CLLocation *)location     
   {
   speedLabel.text = [NSString stringWithFormat:@"%f", [location speed]];
   }

Это мой код, чтобы показать текущую скорость в метке. Я хочу добавить небольшую анимированную линию с подъемами и падениями вашей скорости (которая работает автоматически).

Результат должен быть примерно таким: http://cl.ly/image/0j2U0D462600.

Я думаю, что это должно быть возможно с CGContextAddLine (CoreGraphics)?

Я видел этот вопрос, но мне все еще не ясно: Как нарисовать линию пиксель за пикселем, используя объектив C

Спасибо!


person user2631362    schedule 29.07.2013    source источник
comment
эта страница не найдена   -  person A'sa Dickens    schedule 29.07.2013
comment
@A'saDickens Это должно работать прямо сейчас.   -  person user2631362    schedule 29.07.2013
comment
я дам вам некоторый код, который я использовал для создания палитры подписи, хотя он использует пустое изображение, но я думаю, вы могли бы адаптировать его к своему проекту.   -  person A'sa Dickens    schedule 30.07.2013


Ответы (1)


этот код берет графический контекст и рисует в нем черную линию в разных местах в зависимости от сохраненной точки от последней точки, в которой она находится.

        UIGraphicsBeginImageContext(self.frame.size);
        CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
        CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);
        CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0.0, 0.0, 0.0, 1.0);
        CGContextBeginPath(UIGraphicsGetCurrentContext());
        CGContextMoveToPoint(UIGraphicsGetCurrentContext(), self.lastPoint.x, self.lastPoint.y);
        CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
        CGContextStrokePath(UIGraphicsGetCurrentContext());
        mImgViewSig.image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();

последняя точка — это последняя точка, к которой был проведен рисунок, текущая точка — это точка, к которой прикоснулся пользователь.

person A'sa Dickens    schedule 29.07.2013