Я пытаюсь постепенно поворачивать UIImageView с помощью таймера, этот код вращает его, но он не кажется, что он вращается вокруг центра изображения, а также добавляет CGAffineTransformMakeRotation
к моему коду кажется, чтобы остановить все другие символы в «основной» методПоворот UIImageView Постепенно с использованием таймера
#define radians(degrees) (degrees * M_PI/180)
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.016 target:self selector:@selector(main) userInfo:nil repeats:YES];
-(void)main{
rotate++;
uiImageView.transform = CGAffineTransformMakeRotation(radians(rotate));
uiImageView.center = CGPointMake(uiImageView.center.x+1, uiImageView.center.y);
}
Благодаря этим работали почти безупречно, но когда я остановить анимацию образ восходит к его первоначальное состояние, есть ли способ сохранить его во вращающемся состоянии? – NickPali
, что делает метод 'addAnimation:', - это добавить эффект к объекту 'presentationLayer'. Из-за этого, когда мы удаляем анимацию, представление возвращается в исходное состояние. Предположим, вы хотите переместить объект из точки A в точку B и сохранить измененное состояние в конце анимации, тогда вы должны сначала изменить положение слоев на точку B, а затем сделать анимацию, показывающую движение от точки A до точки B. - продолжение – croyneaus4u
- продолжение -> Но в вашем случае я не думаю, что это можно сделать. Поэтому, останавливая анимацию, я предлагаю получить текущее значение из PresentationLayer ImageView и передать его на слой ImageView. в том же методе. Приветствия. – croyneaus4u