2012-11-02 12 views
8

एप्पल के प्रलेखन का वर्णन करता है UIViewAnimationOptionLayoutSubviews के रूप में:UIViewAnimationOptionLayoutSubviews कैसे काम करता है इसका एक उदाहरण?

बाहर समय के लिए प्रतिबद्ध में subviews निर्धारित करना इतना है कि वे अपने माता पिता के साथ एनिमेटेड रहे हैं। ।

यहाँ कोड मैं में दिलचस्पी रखता हूँ का एक नमूना मैं 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];