दिलचस्प पोस्ट
रिकर्सिव लॉक (म्यूटक्स) बनाम गैर रिकर्सिव लॉक (म्यूटक्स) सी में सीएसवी फ़ाइल पढ़ें सी में scanf के साथ इनपुट पार्सिंग प्रोटोटाइपिकल विरासत – लेखन एडीबी एंड्रॉइड डिवाइस अनधिकृत मैं एक्सएमएल में एम्पर्सैंड से कैसे बच सकता हूं ताकि उन्हें एचटीएमएल में संस्थाओं के रूप में प्रस्तुत किया जाए? एक सादा फ़ंक्शन पॉइंटर में पदोन्नति बढ़ावा :: फ़ंक्शन 'XXX' की कुंजी 'ViewData' आइटम में 'System.Int32' प्रकार होता है, लेकिन 'IEnumerable <SelectListItem>' प्रकार का होना चाहिए जावा स्विंग: एक जार के भीतर से चित्र प्रदर्शित करना कैसे जावा में पथ गठबंधन करने के लिए? क्या पीएचपी में फाइल या कॉलिंग कोड के सापेक्ष पथ शामिल हैं? मैं लोगों को वसंत MVC में XSS करने से कैसे रोकूं? मैं बाद में सरलीकृत पुनर्प्राप्ति के लिए उपयोगकर्ता पासवर्ड भंडारण कैसे नैतिक रूप से दृष्टिकोण करना चाहिए? जावास्क्रिप्ट – 2 तिथियों के बीच की तारीखों का पता लगाएं सेलेनियम वेबड्राइवर में जावास्क्रिप्ट का प्रयोग करके क्या XPath का तत्व प्राप्त करने का कोई तरीका है?

iPhone UIView एनिमेशन सर्वश्रेष्ठ अभ्यास

IPhone पर दृश्य बदलाव को एनिमेट करने के लिए सबसे अच्छा अभ्यास माना जाता है?

उदाहरण के लिए, सेब का ViewTransitions नमूना प्रोजेक्ट कोड का उपयोग करता है जैसे:

 CATransition *applicationLoadViewIn = [CATransition animation]; [applicationLoadViewIn setDuration:1]; [applicationLoadViewIn setType:kCATransitionReveal]; [applicationLoadViewIn setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; [[myview layer] addAnimation:applicationLoadViewIn forKey:kCATransitionReveal]; 

लेकिन नेट के आसपास फ्लोटिंग कोड स्निपेट भी हैं जो इस तरह दिखते हैं:

 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.75]; [UIView setAnimationDelegate:self]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES]; [myview removeFromSuperview]; [UIView commitAnimations]; 

सबसे अच्छा तरीका क्या है? अगर आप एक स्निपेट प्रदान कर सकते हैं तो इसकी सराहना की जाएगी।

नोट: मैं सही तरीके से काम करने के लिए दूसरा दृष्टिकोण प्राप्त करने में असमर्थ हूं।

वेब के समाधान से एकत्रित समाधान "iPhone UIView एनिमेशन सर्वश्रेष्ठ अभ्यास"

beginAnimations:context: बारे में UIView संदर्भ के अनुभाग से beginAnimations:context: विधि:

इस पद्धति का उपयोग iPhone ओएस 4.0 और बाद में निराश हो गया है। इसके बजाय आपको ब्लॉक-आधारित एनीमेशन विधियों का उपयोग करना चाहिए।

टॉम की टिप्पणी पर आधारित ब्लॉक-आधारित एनिमेशन का उदाहरण

 [UIView transitionWithView:mysuperview duration:0.75 options:UIViewAnimationTransitionFlipFromRight animations:^{ [myview removeFromSuperview]; } completion:nil]; 

मैं बहुत अच्छे हल्के एनिमेशन के लिए उत्तरार्द्ध का उपयोग कर रहा हूं। आप इसे दो दृश्यों को क्रॉसफेड ​​का उपयोग कर सकते हैं, या किसी दूसरे के सामने में फीका कर सकते हैं, या इसे बाहर फीका कर सकते हैं। आप एक बैनर की तरह दूसरे पर एक दृश्य शूट कर सकते हैं, आप एक दृश्य खिंचाव या सिकुड़ कर सकते हैं … मुझे बहुत सारे लाभ शुरू हो रहे commitAnimations / commitAnimations

ऐसा मत सोचो कि आप जो कर सकते हैं वह है:

 [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES]; 

यहां एक नमूना है:

 [UIView beginAnimations:nil context:NULL]; { [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationDuration:1.0]; [UIView setAnimationDelegate:self]; if (movingViewIn) { // after the animation is over, call afterAnimationProceedWithGame // to start the game [UIView setAnimationDidStopSelector:@selector(afterAnimationProceedWithGame)]; // [UIView setAnimationRepeatCount:5.0]; // don't forget you can repeat an animation // [UIView setAnimationDelay:0.50]; // [UIView setAnimationRepeatAutoreverses:YES]; gameView.alpha = 1.0; topGameView.alpha = 1.0; viewrect1.origin.y = selfrect.size.height - (viewrect1.size.height); viewrect2.origin.y = -20; topGameView.alpha = 1.0; } else { // call putBackStatusBar after animation to restore the state after this animation [UIView setAnimationDidStopSelector:@selector(putBackStatusBar)]; gameView.alpha = 0.0; topGameView.alpha = 0.0; } [gameView setFrame:viewrect1]; [topGameView setFrame:viewrect2]; } [UIView commitAnimations]; 

जैसा कि आप देख सकते हैं, आप अल्फा, फ्रेम और यहां तक ​​कि एक दृश्य के आकार के साथ खेल सकते हैं। मूर्ख या गैर जिम्मेदाराना व्यवहार। आप अपनी क्षमताओं से आश्चर्यचकित हो सकते हैं

अंतर आपको एनीमेशन पर नियंत्रण की मात्रा की आवश्यकता है।

CATransition दृष्टिकोण आपको और अधिक नियंत्रण प्रदान करता है और इसलिए सेट अप करने के लिए अधिक चीजें, उदा। समय फ़ंक्शन एक वस्तु होने के नाते, आप इसे बाद में, रिफ्लेक्टर के लिए स्टोर कर सकते हैं ताकि डुप्लिकेट कोड को कम करने के लिए अपने सभी एनीमेशन को इंगित कर सकें।

UIView क्लास पद्धतियां आम एनिमेशन के लिए सुविधा विधियां हैं, लेकिन CATransition से अधिक सीमित हैं उदाहरण के लिए, केवल चार संभावित ट्रांज़िशन प्रकार होते हैं (बाएं फ़्लिप करें, दाएं फ़्लिप करें, कर्ल को घुमाएं)। यदि आप एक फीका करना चाहते हैं, तो आप को या तो CATransition's फ़ेड ट्रांज़िशन में खोदना होगा, या अपने UIView के अल्फा की स्पष्ट एनीमेशन सेट करना होगा

ध्यान दें कि मैक ओएस एक्स पर CATransition आपको एक संक्रमण के रूप में उपयोग करने के लिए एक मनमाना CoreImage फिल्टर को निर्दिष्ट करने देगा, लेकिन जैसा कि यह अब खड़ा है, आप ऐसा नहीं कर सकते iPhone पर, जो CoreImage कमी है।

हम इस सरल कोड का उपयोग करके आईओएस 5 में चित्रों को सजीव कर सकते हैं।

 CGRect imageFrame = imageView.frame; imageFrame.origin.y = self.view.bounds.size.height; [UIView animateWithDuration:0.5 delay:1.0 options: UIViewAnimationCurveEaseOut animations:^{ imageView.frame = imageFrame; } completion:^(BOOL finished){ NSLog(@"Done!"); }]; 

UIView डॉक्स में, ios4 + के लिए इस फ़ंक्शन के बारे में पढ़ा है

 + (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion 

फिर भी "ब्लॉक" विधि अब-एक-दिन के लिए पहले से मौजूद है। मैं नीचे साधारण ब्लॉक की व्याख्या करेगा।

नीचे स्निप के बारे में सोचें बग 2 और बग 3 छविव्यूज हैं। एनीमेशन नीचे 1 सेकंड की देरी के बाद 1 सेकंड की अवधि के साथ एनीमेशन का वर्णन करता है। बग 3 को इसके केंद्र से बग 2 के केंद्र में ले जाया गया है एनीमेशन पूरा हो जाने के बाद यह "केंद्र एनीमेशन समाप्त हो गया!" लॉग इन हो जाएगा।

 -(void)centerAnimation:(id)sender { NSLog(@"Center animation triggered!"); CGPoint bug2Center = bug2.center; [UIView animateWithDuration:1 delay:1.0 options: UIViewAnimationCurveEaseOut animations:^{ bug3.center = bug2Center; } completion:^(BOOL finished){ NSLog(@"Center Animation Done!"); }]; } 

आशा है कि स्वच्छ है !!!

मुझे इस लिंक में एक अच्छा ट्यूटोरियल मिला। आशा है कि यह किसी एक के लिए उपयोगी होगा।

UIView-एनीमेशन-ट्यूटोरियल

यहाँ चिकना एनीमेशन के लिए कोड है, कई डेवलपर्स के लिए उपयोगी हो सकता है।
मुझे इस ट्यूटोरियल से कोड का यह स्निपेट मिला।

 CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; [animation setAutoreverses:YES]; [animation setFromValue:[NSNumber numberWithFloat:1.3f]]; [animation setToValue:[NSNumber numberWithFloat:1.f]]; [animation setDuration:2.f]; [animation setRemovedOnCompletion:NO]; [animation setFillMode:kCAFillModeForwards]; [[self.myView layer] addAnimation:animation forKey:@"scale"];/// add here any Controller that you want t put Smooth animation. 

स्विफ्ट 3 के लिए …

  UIView.transition(with: mysuperview, duration: 0.75, options:UIViewAnimationOptions.transitionFlipFromRight , animations: { myview.removeFromSuperview() }, completion: nil)