2011-04-18 64 views
0

我有一個縮放動畫,當我執行一個動作時,一個視圖以縮放的方式出現。使用基於塊的方法動畫縮放動畫

我使用要做到這一點的代碼,

  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

我想通了......

顯然,「變焦」只是一個名稱,沒有做任何事情(只要我用它嘗試)

這是我如何使用與動畫達到的效果基於塊的方法...

[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"); 
        } 
    ]; 

現在有僅1問題我無法弄清楚..

下面是編輯的代碼 -

[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但這似乎對縮放動畫沒有任何附加效果。

有人能告訴我我做錯了什麼嗎?