18

मैं एनीमेशन के साथ एक सबव्यूव जोड़ना चाहता हूं। मैं उप दृश्य तो यह किसी भी एनीमेशन नहीं दिखा रहा है तो मैं किसी भी एनीमेशन जब मैं यह कर रहा हूं दिखाना चाहते हैं जोड़ने का उपयोग कर रहा है ... मैं नीचे दिए गए कोड का उपयोग कर रहा: -एनीमेशन दिखाएं जब addubview

UIViewController *vControllerHome = [[viewTemp alloc] initWithNibName:@"viewTemp" bundle:nil]; 
vControllerHome.view.frame =CGRectMake(0, 0, 320, 414); 
[self.view addSubview:vControllerHome.view]; 
self.selectedViewController = vControllerHome; 

किसी भी एक सुझाव दे सकते हैं कि कैसे मैं यह कर ?

उत्तर

38

यहां कोड है .. बस इसे आज़माएं।

पीएस: myView को उस दृश्य के नाम से बदलें जिसे आप प्रतिस्थापित करना चाहते हैं।

CATransition *applicationLoadViewIn =[CATransition animation]; 
[applicationLoadViewIn setDuration:duration]; 
[applicationLoadViewIn setType:kCATransitionReveal]; 
[applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 
[[myView layer]addAnimation:applicationLoadViewIn forKey:kCATransitionReveal]; 
26

यहाँ एनीमेशन ब्लॉक

[UIView transitionWithView:containerView 
        duration:0.5 
       options:UIViewAnimationTransitionFlipFromRight //any animation 
      animations:^ { [containerView addSubview:subview]; } 
      completion:nil]; 
+2

और subview दूर करने के लिए? – djskinner

+1

सबव्यू को हटाने के लिए, उसी कोड का उपयोग करें, लेकिन [कंटेनर व्यू जोड़ेंस्यूव्यूव: सबव्यू] को प्रतिस्थापित करें; [self.view removeFromSuperview] के साथ; – rmooney

0

के लिए है हो सकता है आप UIView और ओवरराइड विधि willMove(toSuperview newSuperview: UIView?)

यहाँ उपवर्ग सकता है उदाहरण:

override public func willMove(toSuperview newSuperview: UIView?) { 
    super.willMove(toSuperview: newSuperview) 

    if let _ = newSuperview { 
     // This view will be added to some view 
     UIView.animate(withDuration: 0.2, delay: 0.0, usingSpringWithDamping: 0.6, initialSpringVelocity: 30.0, options: .curveEaseInOut, animations: { 
      //... 
     }, completion: { (finish) in 

     }) 
    } else { 
     // This view will be removed 
    } 
} 
संबंधित मुद्दे