Skip to main content
Languageहिन्दी
इंजीनियरिंग5 मिनट पढ़ेंअक्टूबर 2026

SwiftUI में स्प्रिंग एनिमेशन कैसे काम करते हैं?

संक्षिप्त उत्तर

SwiftUI में आप .animation(.spring) या withAnimation(.spring) के साथ एक स्प्रिंग जोड़ते हैं। iOS 17 के बाद से मुख्य सेटिंग्स अवधि और बाउंस हैं, और प्रीसेट हैं: .smooth (कोई बाउंस नहीं), .snappy (थोड़ा सा) और .bauncy (अधिक)। पुराना कोड प्रतिक्रिया और डंपिंगफ्रैक्शन का उपयोग करता है। SwiftUI स्प्रिंग्स तब अपना वेग बनाए रखते हैं जब कोई नया एनीमेशन उन्हें बाधित करता है, जिससे इशारे स्वाभाविक लगते हैं।

कोर टेकअवे

  • स्थिति परिवर्तन के लिए withAnimation(.spring) का उपयोग करें, या किसी दृश्य पर .animation(.spring, value:) का उपयोग करें
  • iOS 17+: .स्प्रिंग(अवधि:बाउंस:) प्लस .स्मूथ, .स्नैपी और .बाउंसी प्रीसेट
  • पुराना एपीआई: .स्प्रिंग(प्रतिक्रिया:डैम्पिंगफ्रैक्शन:ब्लेंडड्यूरेशन:)
  • iOS 17 के बाद से स्प्रिंग्स SwiftUI की डिफ़ॉल्ट एनीमेशन शैली है
  • बाधित स्प्रिंग्स अपना वेग बनाए रखते हैं, इसलिए इशारे सुचारू रूप से चलते हैं

SwiftUI राज्य में परिवर्तन को एनिमेट करता है। जब isExpanded जैसा मान withAnimation(.spring) के अंदर बदलता है, तो उस पर निर्भर प्रत्येक दृश्य स्प्रिंग का उपयोग करके अपने नए लेआउट में चला जाता है।

iOS 17 और बाद में, स्प्रिंग का वर्णन करने का सबसे सरल तरीका दो मानों के साथ है: अवधि, मोटे तौर पर इसे व्यवस्थित होने में कितना समय लगता है, और बाउंस, यह कितना ओवरशूट करता है। 0 का उछाल बिना किसी ओवरशूट के सहज गति देता है; उच्च मान उछाल जोड़ते हैं। Apple प्रीसेट भी प्रदान करता है: .smooth, .snappy और .bouncy।

पुराना कोड .spring(response:dampingFraction:) का उपयोग करता है। प्रतिक्रिया अवधि के समान है, और 1 के अवमंदन अंश का मतलब कोई उछाल नहीं है जबकि कम मान उछाल जोड़ते हैं। दोनों रूप एक ही भौतिक वसंत का वर्णन करते हैं।

स्प्रिंग्स का बड़ा फायदा रुकावट है। यदि कोई उपयोगकर्ता दोबारा टैप करता है या ड्रैग जेस्चर एनीमेशन के बीच में समाप्त हो जाता है, तो नया स्प्रिंग वर्तमान स्थिति और वेग से शुरू होता है, इसलिए कोई छलांग नहीं होती है। ड्रैग जेस्चर के लिए, उपयोगकर्ता द्वारा जारी किए जाने पर जेस्चर के वेग को पास करें, ताकि तत्व उसी दिशा में जारी रहे जिस दिशा में उसे फेंका गया था।

यदि समान घटक को वेब या एंड्रॉइड पर भी चलाने की आवश्यकता है, तो स्प्रिंग मानों को साझा गति टोकन के रूप में रखने से मदद मिलती है। ExodeUI, जिसे हम बनाते हैं, में SwiftUI रनटाइम है, इसलिए इसके स्प्रिंग्स के साथ एक डिज़ाइन किया गया घटक SwiftUI और अन्य प्लेटफार्मों पर चल सकता है।

अक्सर पूछे जाने वाले प्रश्नों

SwiftUI में डिफ़ॉल्ट एनीमेशन क्या है?

iOS 17 के बाद से, डिफ़ॉल्ट एनीमेशन एक स्मूथ स्प्रिंग है।

.स्नैपी और .बाउंसी के बीच क्या अंतर है?

.स्नैपी एक छोटे से ओवरशूट के साथ जल्दी से व्यवस्थित हो जाता है; .उछाल अधिक हावी हो जाती है। .smooth का कोई ओवरशूट नहीं है।

मैं प्रतिक्रिया और डंपिंगफ्रैक्शन को अवधि और बाउंस में कैसे परिवर्तित करूं?

प्रतिक्रिया मोटे तौर पर अवधि के अनुरूप होती है। 1 का अवमंदन अंश उछाल 0 है; कम अवमंदन अंशों का मतलब अधिक उछाल है।

मैं ड्रैग जेस्चर से वेग कैसे जोड़ूँ?

ड्रैग समाप्त होने पर वेग पढ़ें और एक इंटरपोलेटिंग स्प्रिंग या नए स्प्रिंग एपीआई का उपयोग करें जो प्रारंभिक वेग स्वीकार करते हैं।

संबंधित मार्गदर्शिकाएँ एवं उदाहरण

कोड लिखने से पहले एक स्प्रिंग ट्यून करें

स्लाइडर खींचें, गति देखें, और SwiftUI, CSS और अन्य प्लेटफार्मों के लिए स्प्रिंग मान कॉपी करें।

स्प्रिंग जनरेटर खोलें
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →