2010-09-02 21 views
5

का आकार बदलने का एनीमेट करें मुझे UIWebView के आकार को एनिमेट करने का प्रयास करने में वास्तव में कठिन समय है, और बस यह नहीं पता कि कहीं और जाना है।UIWebView

यहां मैं जो हासिल करना चाहता हूं: मेरे पास दो विचार हैं, एक दूसरे से ऊपर (दो वर्गों की कल्पना करें, एक दूसरे के शीर्ष पर एक)। शीर्ष दृश्य UIWebView है, और नीचे वाला एक सामान्य UIView (मुझे नीचे एक समस्या नहीं है) के रूप में संदर्भित किया जाएगा। हर बार जब नई सामग्री लोड हो जाती है तो मैं दो विचारों को समायोजित करता हूं। मेरे पास एक बटन भी है जो नीचे के दृश्य को छिपाना चाहिए या इसे पिछले राज्य के आधार पर दिखाया जाना चाहिए।

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

  • UIWebView निचले हिस्से तक स्क्रॉल किया जाता है, यह " नीचे आने से पहले थोड़ा सा कूदता है (बड़ा हो रहा है);

  • यदि UIWebView शीर्ष पर सभी तरह से स्क्रॉल किया गया है, तो यह अपेक्षा के अनुसार नीचे आता है, जब तक कि नीचे के दृश्य के पीछे स्क्रॉल करने के लिए पर्याप्त सामग्री न हो।

सामान्य तौर पर, क्या मैंने सीखा है कि अगर अभी तक नीचे दृश्य के पीछे सामग्री हो रहा आकार बदलने की राशि से भी बड़ा है, कोई कूद होता है। अन्यथा, यह करता है।

मैंने बहुत सारे शोध किए हैं, asked a previous question और इसलिए मुझे लगता है कि यह UIWebView आलसी लोडिंग का परिणाम है। यह "कूद" होता है ताकि यह स्वचालित रूप से आकार बदल जाए (सभी सामग्री दिखा रहा हो, भले ही उनमें से कुछ ऑफस्क्रीन है) और फिर नीचे चला जाता है। अन्यथा, यह एक ही समय में नई सामग्री का विस्तार और लोडिंग होगा, जिसमें बहुत अधिक प्रोसेसर शक्ति की आवश्यकता होगी।

मैंने फ्रेम, सीमाओं और केंद्रों के साथ प्रयोग किया है, और अभी तक कहीं भी नहीं मिला है। क्या मेरी धारणा सही है? UIWebView का आकार बदलने के तरीके का आकार बदलने का कोई आसान तरीका नहीं है ताकि यह केवल नीचे जाये (जब बड़ा हो रहा हो) और नीचे स्क्रॉल रखता है?

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

अगर किसी के पास इसका कोई अनुभव है, तो कृपया साझा करें। और बहुत बहुत धन्यवाद।

उत्तर

0

यदि लंबे समय तक पर्याप्त वेब पेज के नीचे स्क्रॉल किया गया है, तो वेब आकार को इसके आकार को बदलने के बिना नीचे एनिमेट करने का प्रयास करें, फिर वेब दृश्य ऊंचाई बदलें ताकि शीर्ष पर वापस जाएं जहां शीर्ष होना चाहिए। आप अस्थायी रूप से बाईं ओर स्थान भर सकते हैं क्योंकि वेब दृश्य कुछ प्रकार के पैटर्न के साथ नीचे चला जाता है।

+0

यह उपयोगकर्ताओं के लिए बहुत सुंदर नहीं होगा ... और फिर भी, मुझे यह पता लगाने के किसी भी तरीके से नहीं पता कि UIWebView को पर्याप्त स्क्रॉल किया गया है या नहीं। मैंने सफलता के बिना जावास्क्रिप्ट (पेज ऑफसेट और कुल स्क्रॉल ऊंचाई) के साथ प्रयोग किया है। मुझे नीचे की ओर ऑफसेट प्राप्त करने का एक तरीका चाहिए, न कि शीर्ष पर (यही पेज ऑफसेट रिटर्न है)। –