2009-01-15 7 views
6

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

एक दृष्टिकोण जो मुझे दिमाग में है, एक प्रगति विंडो के साथ पारदर्शी दृश्य दिखाना है (संदेश चेतावनी विंडो की तरह - जो उपयोगकर्ता को केवल संदेश अलर्ट विंडो से बातचीत करने की अनुमति देता है)। मुझे इस दृष्टिकोण को लागू करने में मदद की ज़रूरत है।

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

उत्तर

6

स्टीफन ने UIProgressView या UIActivityIndicatorView के साथ UIAlertView के उपयोग का सुझाव दिया। यह समाधान मेरे लिए काम करता था, लेकिन आईफोन डेवलपर समुदाय के कुछ अन्य सदस्यों के साथ चर्चा के रूप में, इस दृष्टिकोण की अनुशंसा नहीं की जाती है।

अनुशंसित दृष्टिकोण एक नए दृश्य का उपयोग करना है और इसके ट्रांसपेरेंसी मान को अल्फा 7 या 8 पर सेट करना है, इसकी पृष्ठभूमि को काला रंग में सेट करें, और इस दृश्य में UIProgressView या UIActivityIndicatorView जोड़ें और प्रगति दिखाने के लिए इस नए दृश्य का उपयोग करें। इस तकनीक का उपयोग करने में कोई हैक शामिल नहीं है। हालांकि, UIAlertView को UIActivityIndicatorView जोड़ने का प्रयास, वास्तव में एक गैर-दस्तावेज ऑपरेशन (जिसे अनुशंसित नहीं किया जाता है) कर रहा है।

धन्यवाद।

1

बस कोई बटन के साथ UIAlertView बनाएं, यह किसी भी उपयोगकर्ता इंटरैक्शन को रोक देगा।

यदि आप चाहें तो आप अपनी चेतावनी में एक UIProgressView या UIActivityIndicatorView जोड़ सकते हैं।

संबंधित मुद्दे