У меня есть кнопка (openMenu), которую я анимация вниз (отлично работает) и вращается (работает в первый раз) с помощью «выдвижного ящика». В первый раз, когда он вращается, он работает. Но когда я пытаюсь снова повернуть его, парики выходят и скрывают изображение и показывают название кнопки? Любые идеи о том, почему? Мне нужно, чтобы он просто вращал назад еще 45 градусов. Не знаю, почему он это сделает.анимация вращения UIButton не вращается назад с CGAffineTransformMakeRotation
Также - см. Изображение GIF ниже, чтобы вы видели, что происходит.
- (void)viewDidLoad
{
[super viewDidLoad];
draw1 = 0;
scrollView.frame = CGRectMake(0, -200, 768, 200);
[scrollView setContentSize:CGSizeMake(768, 200)];
openMenu.frame = CGRectMake(680, 100, 55, 55);
}
- (IBAction)openMenu:(id)sender {
if (draw1 == 0) {
draw1 = 1;
CGRect optionsDrawer = scrollView.frame;
CGRect optionsButton = openMenu.frame;
optionsDrawer.origin.y += 200;
optionsButton.origin.y += 200;
[UIView animateWithDuration:0.5
animations:^{
scrollView.frame = optionsDrawer;
openMenu.frame = optionsButton;
openMenu.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(45));
}];
} else {
draw1 = 0;
CGRect optionsDrawer = scrollView.frame;
CGRect optionsButton = openMenu.frame;
optionsDrawer.origin.y -= 200;
optionsButton.origin.y -= 200;
[UIView animateWithDuration:0.5
animations:^{
scrollView.frame = optionsDrawer;
openMenu.frame = optionsButton;
openMenu.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(45));
}];
}
}
Если я изменяю openMenu.transform = CGAffineTransformMakeRotation (M_PI/2); для первого и openMenu.transform = CGAffineTransformMakeRotation (-M_PI/2); оно работает! НО! То есть вращение на 180 градусов. Когда я делаю -M_PI/4, он имеет ту же проблему, что и выше. Я не знаю, почему это просто не работает с поворотами на 45 градусов ?! –
Вам не нужно поворачивать его на 0 градусов? – morksinaanab