2015-01-27 42 views
0

我試圖實現一個動畫,相應縮放imageview相應的滾動視圖偏移量(我見過spotify和一些其他應用程序中類似的東西)。我能做些什麼?我試過類似的東西:我如何做一個uiimageView縮放動畫鏈接到uiscrollview contentoffest?

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if (Scroll.contentOffset.y<-10 && Scroll.contentOffset.y>-20) { 

     [UIView animateWithDuration:0.1 
           delay:0 
          options:UIViewAnimationOptionBeginFromCurrentState 
         animations:(void (^)(void)) ^{ 
          ImageView.transform=CGAffineTransformMakeScale(1.1, 1.1); 
         } 
         completion:^(BOOL finished){ 


         }]; 

    } 
if (Scroll.contentOffset.y<-20 && Scroll.contentOffset.y>-30) { 

     [UIView animateWithDuration:0.1 
           delay:0 
          options:UIViewAnimationOptionBeginFromCurrentState 
         animations:(void (^)(void)) ^{ 
          ImageView.transform=CGAffineTransformMakeScale(1.2, 1.2); 
         } 
         completion:^(BOOL finished){ 


         }]; 

    } 
} 

等等,直到值1.6。當然,這種方法效果不好,它被調用了很多次,並且在視覺上會產生抖動......我想要實現這個結果: 用戶向下滾動滾動視圖,而放置在背景中的圖像視圖被縮放,直到一個仲裁值(並且在用戶返回向上滾動時的反向行爲)。什麼是正確的接近?

回答

4

嘗試設置取決於contentOffset轉換,而無需使用動畫,像

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    CGFloat scale = 1; 
    if(Scroll.contentOffset.y<0){ 
    scale -= Scroll.contentOffset.y/10; //calculate the scale factor as you like 
    } 

    ImageView.transform = CGAffineTransformMakeScale(scale,scale); 
} 
+0

謝謝,這正是我需要的 – user31929

相關問題