मैं आईओएस विकास के लिए नया हूँ। वर्तमान में मैं सीखने के उद्देश्य के लिए अपने पिछले एंड्रॉइड ऐप से एक हिस्सा विकसित कर रहा हूं। मैं निम्नलिखित एनीमेशन करना चाहता हूँ। मैं एनीमेशन के लिए एक उचित नाम नहीं जानता इसलिए नीचे gif देखें।

enter image description here

मेरे पास स्टैक व्यू के अंदर टेक्स्ट फ़ील्ड के साथ टेक्स्ट लेबल दोनों हैं। क्या कोई इस एनीमेशन के लिए कोड साझा कर सकता है या एक उपयोगी लिंक पोस्ट कर सकता है?

-1
Chathuranga Shan Jayarathna 22 अक्टूबर 2017, 21:21

2 जवाब

सबसे बढ़िया उत्तर

ऐसे मामले के लिए, मैं UIStackView (ऊर्ध्वाधर) का उपयोग करने का सुझाव दूंगा ) दृश्य में घटकों के लिए कंटेनर होना। स्टैक व्यू के साथ काम करते समय, आप आसानी से ऐसा एनीमेशन मुफ्त में प्राप्त कर सकते हैं! वांछित एनीमेशन लागू करने के लिए, सबसे आसान तरीका लोकप्रिय UIView को लागू करना है animate(withDuration) :एनिमेशन:) और वांछित दृश्य को इसके animations ब्लॉक पैरामीटर में छिपाएं:

UIView.animate(withDuration: 1.0) {
    self.viewToHide.isHidden = !self.viewToHide.isHidden
}

इस दृष्टिकोण का पालन करके, आप एक एनीमेशन बनाने में सक्षम होंगे - जिसे आप ढूंढ रहे हैं- जैसे:

enter image description here

संसाधन: UIStackView के साथ आसान एनिमेशन


आधिकारिक संदर्भ:

आप ऑटो लेआउट के रहस्य, भाग 1 Apple सत्र (<पर <पर) की समीक्षा कर सकते हैं em>00:12:22, इसमें वह विषय होना चाहिए जिसके बारे में आप पूछ रहे हैं)।

3
Ahmad F 22 अक्टूबर 2017, 22:11

ऐसे कई तरीके हैं जिनसे आप इसे संभाल सकते हैं। नीचे एक तरीका है। (ध्यान दें कि अहमद का स्टैक व्यू का सुझाव आसान और साफ-सुथरा होगा।)

अपने विचार रखें जिन्हें आप किसी अन्य दृश्य के अंदर दिखाना चाहते हैं। मैं इस दृश्य को एक कंटेनर दृश्य कहूंगा (हालाँकि इस मामले में मेरा मतलब कंटेनर दृश्य से नहीं है जिस तरह से इंटरफ़ेस बिल्डर एक दृश्य को संदर्भित करता है जो एक बच्चे के दृश्य नियंत्रक को पकड़ सकता है।) clipsToBounds ध्वज को कंटेनर दृश्य पर सेट करें सच करने के लिए।

कंटेनर दृश्य में ऊंचाई की कमी जोड़ें।

बाधा के लिए एक आउटलेट बनाने के लिए अपनी स्रोत फ़ाइल में बाधा और नियंत्रण खींचें का चयन करें। ऊंचाई की बाधा के वर्तमान ऊंचाई मान पर ध्यान दें।

अब ऊंचाई मान को शून्य में बदलें। इससे कंटेनर दृश्य के अंदर के दृश्य गायब हो जाएंगे।

जब आप उन नियंत्रणों को एनिमेट करना चाहते हैं तो एक UIView एनिमेशन का उपयोग करें जिसमें self.view.layoutIfNeeded() को कॉल किया गया हो। UIView.animate(duration:animations:) पर कॉल करने से ठीक पहले कंटेनर व्यू की ऊंचाई की सीमा को उसके गैर-शून्य मान पर सेट करें।

0
Duncan C 22 अक्टूबर 2017, 22:09