У меня есть пользовательский UIView
, на котором я хотел бы показывать простые анимированные фигуры в ответ на прикосновения. Например:
- всякий раз, когда пользователь нажимает на экран, под пальцем появляется кружок с анимацией
- если пользователь заканчивает касаться круга, то анимация должна исчезнуть
- если пользователь достигает определенной части экрана, круг должен увеличиваться (плавно)
То, что я делаю сейчас ( см. Код ниже ), это использование touchesBegan
, touchesMoved
и т. Д., Чтобы получить набор со всеми касаниями. Затем в drawRect
я рисую круг для каждого касания. Все супер статично.
Какой лучший способ оживить?
Спасибо!
PS: для полноты вот часть моего кода
- (void)drawRect:(CGRect)rect
{
for (UITouch *touch in ts) { //ts is the set with all touches
CGPoint location = [touch locationInView:touch.view];
CGContextRef context = UIGraphicsGetCurrentContext();
CGRect rectangle = CGRectMake(location.x-circleSize/2, location.y-circleSize/2+correctionY,
circleSize*1.15, circleSize*1.15);
CGContextAddRect(context, rectangle);
CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
CGContextFillEllipseInRect(context, rectangle);
/* etc etc */
}
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
/* etc etc */
ts = [[NSMutableSet setWithSet: [event touchesForView:self]] retain];
/* etc etc */
}