оживить и изменить размер UIImageView - PullRequest
3 голосов
/ 13 января 2012

Как мне анимировать и изменить размер UIImageView? Я пытался сделать это, но у меня ничего не вышло:

[UIView beginAnimations:nil context:NULL];
            [UIView setAnimationDuration:1.0];
            imgView.frame = CGRectMake(0, 0, 320, 480);
            [UIView commitAnimations];

Ответы [ 4 ]

5 голосов
/ 13 января 2012

Попробуйте использовать блочную анимацию:

[UIView animateWithDuration:1.0f // This can be changed.
                 animations:^{
                   CGRect frame = imageView.frame;
                   frame.size.width += 100.0f; // This is just for the width, but you can change the origin and the height as well.
                   imageView.frame = frame;
                 } 
                 completion:^(BOOL finished){
                 }];

Надеюсь, что поможет!

0 голосов
/ 13 января 2012

Если мы предположим, что у вас правильная ссылка на imgView, то кажется, что начальный кадр imgView одинаков до и после анимации.

Попробуйте установить imgView.frame в:

imgView.frame = CGRectMake(100,100,100,100);
0 голосов
/ 13 января 2012

Попробуйте этот код. Это прекрасно работает для меня,

        CGPoint newLogoutCenter = CGPointMake(160, 364);
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:1.0f];
    twitterBarVIew.center = newLogoutCenter;
    [UIView commitAnimations];
0 голосов
/ 13 января 2012

// Настройка UIImageView. Рамка определяет положение и размер изображения. UIImageView * i = [[UIImageView alloc] initWithFrame: [CGRectMake (50.0,50.0,50.0,50.0)]];

// Добавить изображения в UIImageView i.images = [[NSArray alloc] initWithObjects: [UIImage imageNamed: @ "1.png"],
[UIImage imageNamed: @ "2.png"], nil];

// Устанавливаем время запуска анимации i.animationDuration = 1.0f;

// запускаем анимацию [я начинаю анимацию];

Вы можете изменить размер изображения, изменив рамку изображения

i.frame = CGRectMake (x, y, ширина, высота);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...