दिलचस्प पोस्ट
माउस कर्सर के नीचे आरजीबी मूल्य प्राप्त करना मैं PowerShell का उपयोग कर एक पाठ फ़ाइल कैसे विभाजित कर सकता / सकती हूं? एक टंकिनर विंडो बंद करें? मैं foreach क्यों नहीं कर सकता (DataTable.Rows में var आइटम)? तीन। जेएस / वेबजीएल – उनके पीछे अन्य विमानों को छुपाते हुए पारदर्शी विमान JasperReports में टेक्स्टफ़ाइल के बीच अतिरिक्त स्थान कैसे निकालें? Google Translate TTS एपीआई अवरुद्ध क्या मैं कतरने पर एक इनपुट में दर्ज वर्ण को सशर्त रूप से बदल सकता हूँ? जावा में, एनएएन का मतलब क्या है? कोणीय जेएस और गूगल एपीआई client.js (गैपसी) ब्राउज़रों को सीएसएस चयनकर्ताओं को सही से बाएं से क्यों सामना करना पड़ता है? पायथन में प्रमुख घटक विश्लेषण (पीसीए) एंड्रॉइड ऐप से प्रमाणपत्र फिंगरप्रिंट प्राप्त करें एक चार * कॉन्स्ट स्ट्रिंग को संशोधित करना गिट में रूट फ़ोल्डर से केवल फ़ाइल को कैसे बाहर निकालना है

कैसे एक UIView बाउंस एनीमेशन बनाने के लिए?

मैं एक UIView के लिए निम्नलिखित CATransition है जिसे finalScoreView कहा जाता है, जो इसे ऊपर से स्क्रीन में दर्ज करता है:

 CATransition *animation = [CATransition animation]; animation.duration = 0.2; animation.type = kCATransitionPush; animation.subtype = kCATransitionFromBottom; animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; [gameOver.layer addAnimation:animation forKey:@"changeTextTransition"]; [finalScoreView.layer addAnimation:animation forKey:@"changeTextTransition"]; 

मैं इसे कैसे बनाऊं, यह नीचे आने के बाद एक बार बाउंस करता है, फिर भी क्या रहता है? यह अभी भी ऊपर से स्क्रीन दर्ज करनी चाहिए, लेकिन जब नीचे आता है तो उछाल

किसी भी मदद की सराहना की जाएगी, धन्यवाद!

Solutions Collecting From Web of "कैसे एक UIView बाउंस एनीमेशन बनाने के लिए?"

IOS7 और UIKit डायनेमिक्स के साथ, CAKeyframeAnimations या UIView एनिमेशन का उपयोग करने के लिए अब कोई आवश्यकता नहीं है!

ऐप्पल की यूआईकेट डायनेमिक्स कैटलॉग एप पर एक नज़र डालें वैकल्पिक रूप से, तेहहानलाक्स में गिथूब में पूर्ण परियोजना के साथ एक स्पष्ट, संक्षिप्त ट्यूटोरियल है । यदि आप गतिशीलता के इन- और बहिष्कारों के बारे में अधिक विस्तृत ट्यूटोरियल चाहते हैं, तो रे विंडरलिच ट्यूटोरियल महान है। हमेशा की तरह, एप्पल डॉक्स एक महान पहला स्टॉप है, इसलिए डॉक्स में यूआईडीएनिकएनिमेटर क्लास संदर्भ देखें ।

ये किशोर्हनालैक्स ट्यूटोरियल से थोड़ा सा कोड है:

 self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view]; UIGravityBehavior* gravityBehavior = [[UIGravityBehavior alloc] initWithItems:@[self.redSquare]]; [self.animator addBehavior:gravityBehavior]; UICollisionBehavior* collisionBehavior = [[UICollisionBehavior alloc] initWithItems:@[self.redSquare]]; collisionBehavior.translatesReferenceBoundsIntoBoundary = YES; [self.animator addBehavior:collisionBehavior]; UIDynamicItemBehavior *elasticityBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[self.redSquare]]; elasticityBehavior.elasticity = 0.7f; [self.animator addBehavior:elasticityBehavior]; 

और यहां परिणाम हैं

स्क्वायर बाउंस

UIKit डायनेमिक्स वास्तव में शक्तिशाली और IOS7 के लिए उपयोग में आसान है और आप इसे से कुछ बहुत अच्छी लग रही UI प्राप्त कर सकते हैं।

अन्य उदाहरण:

बटन उछालस्लाइड उछालवसंत संग्रहWWDC स्प्रिंट संग्रह

UIKit गतिशीलता को लागू करने के लिए चरण हमेशा समान होते हैं:

  1. एक UIDynamicAnimator बनाएँ और इसे एक मजबूत संपत्ति में संग्रहीत करें
  2. एक या अधिक UIDynamicBehaviors बनाएं प्रत्येक व्यवहार में एक या अधिक आइटम होना चाहिए, आम तौर पर चेतन करने के लिए एक दृश्य।
  3. सुनिश्चित करें कि UIDynamicBehaviors में प्रयुक्त आइटम की प्रारंभिक स्थिति UIDynamicAnimator सिमुलेशन के भीतर एक मान्य स्थिति है।

IOS 7 में UIDynamicAnimator लिए एक आसान विकल्प स्प्रिंग एनीमेशन (एक नया और शक्तिशाली यूआईवीइव ब्लॉक एनीमेशन) है, जो आपको भिगोना और वेग के साथ अच्छा शेख़ी प्रभाव दे सकता है: उद्देश्य सी

 [UIView animateWithDuration:duration delay:delay usingSpringWithDamping:damping initialSpringVelocity:velocity options:options animations:^{ //Animations } completion:^(BOOL finished) { //Completion Block }]; 

तीव्र

 UIView.animateWithDuration(duration, delay: delay, usingSpringWithDamping: damping, initialSpringVelocity: velocity, options: options, animations: { //Do all animations here }, completion: { //Code to run after animating (value: Bool) in }) 

usingSpringWithDamping 0.0 == बहुत उछालभरी का उपयोग करके 1.0 बिना ओवरहूटिंग के बिना आसानी से गति बढ़ाता है।

initialSpringVelocity मोटे तौर पर, "वांछित दूरी, वांछित सेकंड से विभाजित" है। 1.0 एक सेकंड में चलने वाली कुल एनीमेशन दूरी से मेल खाती है। उदाहरण, कुल एनीमेशन दूरी 200 अंक है और आप चाहते हैं कि एनीमेशन की शुरुआत 100 पीटी / एस के दृश्य वेग से हो, जो 0.5 के मान का उपयोग करें।

इस ट्यूटोरियल में अधिक विस्तृत ट्यूटोरियल और नमूना ऐप मिल सकते हैं। मुझे उम्मीद है कि यह किसी के लिए उपयोगी है

यहाँ एक डेमो प्रोजेक्ट है जो आपको एनीमेशन को सही तरीके से प्राप्त करने में मदद करने के लिए बनाया गया है। का आनंद लें!

SpringDampingDemo

यहां छवि विवरण दर्ज करें

 - (IBAction)searchViewAction:(UIButton*)sender { if(sender.tag == 0) { sender.tag = 1; CGRect optionsFrame2 = self.defaultTopView.frame; optionsFrame2.origin.x = -320; CGRect optionsFrame = self.searhTopView.frame; optionsFrame.origin.x = 320; self.searhTopView.frame = optionsFrame; [UIView animateWithDuration:1.0 delay:0.0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:0 animations:^{ CGRect optionsFrame = self.searhTopView.frame; optionsFrame.origin.x = 0; self.searhTopView.frame = optionsFrame; self.defaultTopView.frame = optionsFrame2; } completion:^(BOOL finished) { }]; } else { sender.tag = 0; CGRect optionsFrame2 = self.defaultTopView.frame; optionsFrame2.origin.x = 0; CGRect optionsFrame = self.searhTopView.frame; optionsFrame.origin.x = 320; [UIView animateWithDuration:1.0 delay:0.0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:0 animations:^{ CGRect optionsFrame = self.searhTopView.frame; optionsFrame.origin.x = 320; self.searhTopView.frame = optionsFrame; self.defaultTopView.frame = optionsFrame2; } completion:^(BOOL finished) { }]; } }