UIButton изменяют размер с анимацией

Я создаю меню, и я хочу, чтобы кнопки "появились", я предполагаю на экране. В основном я хочу запуститься в 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, чтобы попытаться дать ему контекст или что-то, но напрасно.

Аплодисменты для Вашей справки.

15
задан Rudiger 30 June 2010 в 00:04
поделиться

1 ответ

Не могли бы вы вместо этого попробовать использовать следующий код?

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];

Ваша кнопка должна сначала немного увеличиться, а затем снова сжаться. Если это правильно масштабируется, просто отрегулируйте коэффициент масштабирования до и после в соответствии с требованиями.

32
ответ дан 1 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: