2012-11-02 28 views
8

蘋果的文檔描述了UIViewAnimationOptionLayoutSubviews爲:UIViewAnimationOptionLayoutSubviews如何工作的示例?

鋪陳在提交時子視圖,使他們與 他們的父母一起動畫。

這是我感興趣的代碼示例我希望動畫detailView-layoutSubviews。但是,它似乎沒有佈局detailView的子視圖,所以我不確定它實際上具有什麼效果。

void (^animation)() =^
    { 
     [self.detailView setNeedsLayout]; 
     [self.detailView layoutIfNeeded]; 
    }; 

    [UIView animateWithDuration:0.5 
          delay:0.0 
         options:UIViewAnimationOptionLayoutSubviews 
        animations:^{ 
         animation(); 
        } 
        completion:nil]; 

回答

0

因爲你希望你的第二個動畫從您的第一個動畫的當前狀態(不論它完成與否)我建議設置你的第二個動畫時使用UIViewAnimationOptionLayoutSubviews選項。

[UIView animateWithDuration:0.2 
         delay:0.0 
        options:UIViewAnimationOptionLayoutSubviews 
       animations:^{ 
        CGAffineTransform settingsTransform = CGAffineTransformMakeTranslation(self.animatedView.frame.size.width, 0); 
         self.animatedView.transform = settingsTransform; 
       } 
completion:nil];