Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> IOS

आईओएस में सर्कुलर प्रोग्रेस बार बनाएं

<घंटा/>

आईओएस डेवलपर्स के लिए सर्कुलर प्रोग्रेस बार बनाने का तरीका जानना बहुत जरूरी है, लगभग हर एप्लिकेशन में यह होता है।

यह मुख्य रूप से डाउनलोडिंग स्टेटस, लोडिंग स्टेटस या किसी अन्य प्रगति से संबंधित चीज को दिखाने के लिए उपयोग किया जाता है।

सर्कुलर प्रोग्रेस बार बनाना नए प्रोग्रामर के लिए बहुत कठिन हो सकता है और उन्हें इसके साथ काम करने में कठिनाई हो सकती है।

सर्कुलर प्रोग्रेस बार बनाने के कई तरीके हैं। इस पोस्ट में हम सर्कुलर प्रोग्रेस बार बनाने का सबसे सरल और आसान तरीका देखेंगे।

तो चलिए शुरू करते हैं

चरण 1 - ओपन एक्सकोड, सिंगल व्यू एप्लिकेशन, इसे सर्कुलर प्रोग्रेस नाम दें।

इसलिए हम 3 बटनों के साथ एक एप्लिकेशन बना रहे हैं जिसमें प्रतिशत और एक गोलाकार प्रगति दृश्य है, जहां बटन टैप करने पर प्रतिशत के आधार पर प्रगति दृश्य बदल जाएगा।

चरण 2 - नया वर्ग बनाएं, फ़ाइल - → नई फ़ाइल जोड़ें - → कोको टच क्लास - → UIView वर्ग का परिपत्र प्रगति दृश्य।

आईओएस में सर्कुलर प्रोग्रेस बार बनाएं

चरण 3 - UI बनाएं, UI दृश्य जोड़ें और उसी का वर्ग CircularProgressView जोड़ें जैसा कि नीचे चित्र में दिखाया गया है, तीन बटन जोड़ें और उन्हें 30%, 60% और 95% नाम दें।

ViewController.swift में तीनों बटनों के लिए @IBAction बनाएं और उन्हें नीचे दिखाए अनुसार नाम दें

@IBAction func btn95(_ प्रेषक:कोई भी) {}@IBAction func btn30(_ प्रेषक:कोई भी) {}@IBAction func btn60(_ प्रेषक:कोई भी) {}

ViewController.swift में UI व्यू के लिए @IBoutlet बनाएं और इसे नीचे नाम दें

@IBOutlet कमजोर संस्करण सर्कुलरप्रोग्रेस:​​सर्कुलरप्रोग्रेस व्यू!

आईओएस में सर्कुलर प्रोग्रेस बार बनाएं

चरण 4 -CircularProgressView.swift में, दो ऑब्जेक्ट प्रोग्रेस लेयर बनाएं और CAShapeLayer() प्रकार की ट्रैक लेयर बनाएं।

var प्रगतिLyr =CAShapeLayer()var trackLyr =CAShapeLayer()

चरण 5 प्रगति सेट करने के लिए सेट किए गए तरीके लिखें और नीचे के रूप में ट्रैक करें

var प्रगतिClr =UIColor.white { didSet {प्रगति लाइर.स्ट्रोककलर =प्रगतिClr.cgColor}}var trackClr =UIColor.white { didSet {trackLyr.strokeColor =trackClr.cgColor}}

यहां हम प्रॉपर्टी की प्रगति लियर और ट्रैक लियर सेट कर रहे हैं।

didSet एक प्रॉपर्टी ऑब्जर्वर है, प्रॉपर्टी ऑब्जर्वर किसी प्रॉपर्टी के मूल्य में बदलाव का निरीक्षण करते हैं और उसका जवाब देते हैं। प्रॉपर्टी ऑब्जर्वर को हर बार प्रॉपर्टी की वैल्यू सेट होने पर बुलाया जाता है, भले ही नया वैल्यू प्रॉपर्टी के मौजूदा वैल्यू के बराबर ही क्यों न हो

चरण 5 - मेक सर्कुलरपाथ फ़ंक्शन जोड़ें और नीचे कोड जोड़ें।

func makeCircularPath() { self.backgroundColor =UIColor.clear self.layer.cornerRadius =self.frame.size.width/2 चलो सर्कलपाथ =UIBezierPath(arcCenter:CGPoint(x:frame.size.width/2, y) :frame.size.height/2), त्रिज्या:(frame.size.width - 1.5)/2, startAngle:CGFloat(-0.5 * .pi), endAngle:CGFloat(1.5 * .pi), क्लॉकवाइज:true) trackLyr .path =CirclePath.cgPath trackLyr.fillColor =UIColor.clear.cgColor trackLyr.strokeColor =trackClr.cgColor trackLyr.lineWidth =5.0 trackLyr.strokeEnd =1.0 लेयर। AddSublayer (trackLyr) प्रोग्रेसLyr.path =CirclePath.cgPath प्रोग्रेसLyr.fillColor =UIColor .clear.cgColor प्रगतिLyr.strokeColor =प्रगतिClr.cgColor प्रगतिLyr.lineWidth =10.0 प्रगतिLyr.strokeEnd =0.0 लेयर.addSublayer(progressLyr)}

इस फ़ंक्शन में हम एक वृत्ताकार पथ बना रहे हैं, इसके मापदंडों और इसके व्यवहार को परिभाषित करते हुए।

चरण 6 - आवश्यक init फ़ंक्शन जोड़ें, जब हम स्टोरीबोर्ड से UI डिज़ाइन करते हैं तो हमें आवश्यक init का उपयोग करना चाहिए, जब आप UI को प्रोग्रामेटिक रूप से डिज़ाइन करते हैं तो हम ओवरराइड init का उपयोग करेंगे, हमारे मामले में हम आवश्यकता init का उपयोग करने जा रहे हैं।

आवश्यक init?(coder aDecoder:NSCoder) { super.init(coder:aDecoder) makeCircularPath ()}

चरण7 - अब हम प्रगति को चेतन करना चाहते हैं इसलिए नया फ़ंक्शन setProgressWithAnimation बनाएं और नीचे दिया गया कोड लिखें

func setProgressWithAnimation(अवधि:TimeInterval, value:Float) { एनीमेशन =CABasicAnimation (कीपाथ:"स्ट्रोकएंड") एनीमेशन दें। ) प्रगतिLyr.strokeEnd =CGFloat(value) प्रगतिLyr.add(animation, forKey:"animateprogress")}

हो गया, CircularProgressView.swift के लिए आपका अंतिम कोड इस तरह दिखना चाहिए

आयात करें didSet {प्रगति लाइर.स्ट्रोककोलर =प्रोग्रेसक्लर.cgColor}} वर ट्रैकक्लर =UIColor.white { didSet {trackLyr.strokeColor =trackClr.cgColor} } func makeCircularPath() { self.backgroundColor =UIColor.clear self.layer.cornerRadius =self.frame .size.width/2 चलो सर्कलपाथ =UIBezierPath(arcCenter:CGPoint(x:frame.size.width/2, y:frame.size.height/2), त्रिज्या:(frame.size.width - 1.5)/2, startAngle:CGFloat(-0.5 * .pi), endAngle:CGFloat(1.5 * .pi), क्लॉकवाइज:true) trackLyr.path =CirclePath.cgPath trackLyr.fillColor =UIColor.clear.cgColor trackLyr.strokeColor =trackClr.cgColor trackLyr। लाइनविड्थ =5.0 ट्रैकलाइर.स्ट्रोकएंड =1.0 लेयर.एडसबल ayer(trackLyr) प्रगतिLyr.path =CirclePath.cgPath प्रगतिLyr.fillColor =UIColor.clear.cgColor प्रगतिLyr.स्ट्रोककलर =प्रगतिClr.cgरंग प्रगति Lyr.lineWidth =10.0 प्रगति Lyr.स्ट्रोकएंड =0.0 परत। AddSublayer(progressLyr)} func सेटप्रोग्रेसविथएनिमेशन(अवधि) , मान:फ्लोट) {एनीमेशन =CABasicAnimation (कीपाथ:"स्ट्रोकएंड") एनीमेशन। अवधि =अवधि एनीमेशन। से वैल्यू =0 एनीमेशन। टू वैल्यू =वैल्यू एनीमेशन। टाइमिंग फंक्शन =कैमेडिया टाइमिंग फंक्शन (नाम:केकैमेडिया टाइमिंग फंक्शनलाइनर) प्रोग्रेस लाइर स्ट्रोकएंड =सीजीफ्लोट (वैल्यू) प्रोग्रेस लाइर.एड (एनिमेशन, फॉरकी:"एनिमेट प्रोग्रेस") }}

चरण 8 - सब कुछ ठीक काम करने के लिए उपरोक्त कोड चलाएँ, आपको अपना UI नीचे के रूप में देखना चाहिए, लेकिन गैर-कार्यात्मक क्योंकि हमने ViewController.swift में कोई कोड नहीं जोड़ा है।

आईओएस में सर्कुलर प्रोग्रेस बार बनाएं

चरण 9 - ViewController.swift में कुछ कोड जोड़ें।

नीचे दी गई लाइन को viewDidLoad () में लिखें, यह प्रगति पट्टी का रंग निर्दिष्ट करेगा

circularProgress.trackClr =UIColor.cyancircularProgress.progressClr =UIColor.purple

95%, 30% और 60% की अवधि के साथ, अपनी बटन कार्यक्षमता में नीचे की पंक्तियों को जोड़ें

@IBAction func btn95(_ sender:Any) {circularProgress.setProgressWithAnimation(अवधि:1.0, मान:0.95)}@IBAction func btn30(_ sender:Any) {circularProgress.setProgressWithAnimation(अवधि:1.0, मान:0.30) }@IBAction func btn60(_ प्रेषक:कोई भी) {circularProgress.setProgressWithAnimation(अवधि:1.0, मान:0.60)}

आखिरकार आपके ViewController.swift का कोड नीचे होना चाहिए

<पूर्व>आयात करें UIKitclass ViewController:UIViewController {@IBOutlet कमजोर संस्करण परिपत्र प्रगति:परिपत्र प्रगति दृश्य! ओवरराइड func viewDidLoad() { super.viewDidLoad ()circularProgress.trackClr =UIColor.cyancircularProgress.progressClr =UIColor.purple } @IBAction func btn95(_ प्रेषक:कोई भी) {circularProgress.setProgressWithAnimation(अवधि:1.0, मान:0.95)} @IBAction func btn30 (_ प्रेषक:कोई भी) {circularProgress.setProgressWithAnimation (अवधि:1.0, मान:0.30)} @IBAction func btn60 (_ प्रेषक:कोई भी) {circularProgress.setProgressWithAnimation (अवधि:1.0, मान:0.60)}}

बटन फ़ंक्शन में हम मान और अवधि के साथ setProgressWithAnimation को कॉल कर रहे हैं।

बस यही हमने किया, एप्लिकेशन चलाएं और 30% या 60% या 95% पर टैप करें। आप दृश्य को एनिमेट करते हुए देखेंगे।

आईओएस में सर्कुलर प्रोग्रेस बार बनाएं


  1. पायथन में वृत्ताकार (ध्रुवीय) हिस्टोग्राम

    पायथन में सर्कुलर (ध्रुवीय) हिस्टोग्राम प्लॉट करने के लिए, हम निम्नलिखित कदम उठा सकते हैं- थीटा . के लिए डेटा बिंदु बनाएं , त्रिज्या और चौड़ाई numpy का उपयोग करना। वर्तमान आंकड़े में एक सबप्लॉट जोड़ें, जहां प्रक्षेपण=ध्रुवीय और nrows=1, ncols=1 andindex=1. . bar() . का उपयोग करके बार प्लॉट बनाएं व

  1. टिंकर में डाउनलोड प्रगति पट्टी कैसे बनाएं?

    मान लीजिए कि हम एक ऐसा एप्लिकेशन बना रहे हैं जो फाइलों को डाउनलोड करने, फाइल को ट्रैक करने जैसे स्रोतों और फाइलों के साथ इंटरैक्ट करता है। ऐसे एप्लिकेशन के लिए प्रोग्रेसबार बनाने के लिए, हम tkinter.ttk का उपयोग करेंगे। पैकेज जिसमें प्रगति पट्टी . शामिल है मॉड्यूल। प्रारंभ में, हम प्रोग्रेसबार . के

  1. iOS डिवाइस पर शॉर्टकट कैसे बनाएं

    हम सभी अपने दिन के कुछ समय शेव करने के तरीके खोज रहे हैं। यही कारण है कि आपको वास्तव में अपने दैनिक जीवन में स्वचालन की अवधारणा को अपनाने की आवश्यकता है। स्वचालन प्रौद्योगिकी के बारे में सबसे अच्छी चीजों में से एक है। यह आपको कुछ ऐसा लेने में सक्षम बनाता है जो सामान्य रूप से तीन क्लिक लेता है और इस