Я создаю меню, и я хочу, чтобы кнопки "появились", я предполагаю на экране. В основном я хочу запуститься в 0px размерах и затем подойти к полному размеру кнопок. Я могу анимировать альфу и положение, если я хочу, но не могу сделать размеров, и я думаю потому что изображение на кнопке.
Если я делаю UIButtonTypeRoundRect, Вы видите, что кнопка анимирована позади изображения, но изображение является статическим.
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage:[UIImage imageNamed:@"settings.png"] forState:UIControlStateNormal];
button.frame = CGRectMake(20, 20, 0, 0);
button.alpha = 0;
[self.view addSubview:button];
CGRect frame = button.frame;
[UIView beginAnimations:@"button" context:nil];
[UIView setAnimationDuration:1];
button.alpha = 1;
frame.size.width += 53;
frame.size.height += 53;
button.frame = frame;
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
Так Альфа-работы, но изменение размер не делает. Я также играл с stretchableImageWithLeftCapWidth, чтобы попытаться дать ему контекст или что-то, но напрасно.
Аплодисменты для Вашей справки.
Не могли бы вы вместо этого попробовать использовать следующий код?
button.transform = CGAffineTransformMakeScale(1.5,1.5);
button.alpha = 0.0f;
[UIView beginAnimations:@"button" context:nil];
[UIView setAnimationDuration:1];
button.transform = CGAffineTransformMakeScale(1,1);
button.alpha = 1.0f;
[UIView commitAnimations];
Ваша кнопка должна сначала немного увеличиться, а затем снова сжаться. Если это правильно масштабируется, просто отрегулируйте коэффициент масштабирования до и после в соответствии с требованиями.