2012-11-02 14 views
8

di Apple descrive come UIViewAnimationOptionLayoutSubviews:Un esempio di come funziona UIViewAnimationOptionLayoutSubviews? la documentazione

lay out subviews in fase di commit in modo che essi sono animati con loro genitore.

Ecco un esempio del codice che mi interessa voglio animare la -layoutSubviews di detailView.; tuttavia, non sembra per il layout delle subviews di detailView, quindi non sono sicuro che effetto ha in realtà.

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

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

risposta

0

Dal momento che si desidera che il secondo animazione avviene dallo stato attuale della vostra prima animazione (se è finito o no) vi consiglio di utilizzare l'opzione UIViewAnimationOptionLayoutSubviews quando si imposta la seconda animazione.

[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]; 
Problemi correlati