масштабирование анимации с использованием анимации с использованием блочных методов - PullRequest
0 голосов
/ 19 апреля 2011

У меня есть анимация масштабирования, при которой при выполнении действия вид отображается в режиме масштабирования.

Код, который я использую для этого,

            CGFloat xpos = self.view.frame.origin.x;
    CGFloat ypos = self.view.frame.origin.y;
    popContents.view.frame = CGRectMake(xpos+100,ypos+150,5,5);
    [UIView beginAnimations:@"Zoom" context:NULL];
    [UIView setAnimationDuration:0.8];
    popContents.view.frame = CGRectMake(320, ypos-70, 350, 350);
    [UIView commitAnimations];
    [self.view.superview addSubview:popContents.view];

Я только что понял, что использование ios4.0 таким способом не рекомендуется и рекомендуется анимация с использованием блочных методов ..

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

Этобыло бы здорово, если бы кто-нибудь мог помочь мне в этом ...

1 Ответ

1 голос
/ 19 апреля 2011

Я понял это ...

Очевидно, "зум" - это просто имя и ничего не делает (насколько я экспериментировал с ним)

Вот как я могу добиться эффекта, используя анимацию с блочными методами ...

[UIView animateWithDuration:0.8 animations:^ { popContents.view.frame = CGRectMake(160, 70, 350, 350);
        [self.view.superview bringSubviewToFront:self.view];
        [self.view.superview addSubview:popContents.view]; }
                     completion: ^(BOOL finished) {
                         NSLog(@"DONE");
                     }
     ];

Сейчас есть только одна проблема, которую я не могу выяснить ..

Вот отредактированный код -

[UIView transitionWithView:self.view duration:1 
                        options:UIViewAnimationOptionTransitionFlipFromLeft 
                     animations:^
                                { 
                                    popContents.view.frame = CGRectMake(160, 70, 350, 350);
                                    [self.view.superview bringSubviewToFront:self.view];
                                    [self.view.superview addSubview:popContents.view];
                                }
                     completion: ^(BOOL finished) 
                                {
                                    NSLog(@"DONE");
                                }];

, так что здесь происходит то, что табличное представление вращается, в то время как представление popContents увеличивает положение. Я понимаю, что это произойдет, так как я дал transitionWithView:self.view

однако, как я смогу добавить этот эффект в представление popContents (представление, которое увеличивает масштаб) ... возможно ли это?

Я пробовал transitionWithView:popContents.view, но это, похоже, не имеет никакого дополнительного эффекта к анимации масштабирования.

Может кто-нибудь сказать мне, что я делаю неправильно?

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