2010-05-21 27 views
6

मुझे UIWebView की ऊंचाई और चौड़ाई समायोजित करने की आवश्यकता है ताकि पूरा टेक्स्ट दृश्य में प्रदर्शित हो और उपयोगकर्ता को पाठ को पढ़ने के लिए स्क्रॉल करने की आवश्यकता न हो।UIWebView चौड़ाई और ऊंचाई सेट करना

क्या किसी को भी यह पता है कि इसे कैसे प्राप्त किया जाए?

उत्तर

1

सामग्री फिट करने के आकार बदलने के लिए UIWebView पर कोई विशेष प्रावधान नहीं है। सामग्री को स्केल करने के लिए आप scalesPageToFit प्रॉपर्टी को YES पर सेट कर सकते हैं, या आप सबसे उचित आकार वाले पृष्ठों को फिट करने के लिए पर्याप्त दृश्य देख सकते हैं। मैं आपके प्रश्न से अनुमान लगाता हूं कि आप उस सामग्री को प्रदर्शित कर रहे हैं जिसका आप नियंत्रण में हैं। यदि नहीं, तो मुझे यकीन नहीं है कि आप जो चाहते हैं उसे प्राप्त करने के लिए एक आसान प्रोग्रामेटिक तरीका है।

+0

उत्तर के लिए एक टन Thaks !!! हाँ, स्केल के साथ प्रयास करें PageToFit संपत्ति YES पर सेट है .... लेकिन यह सामग्री को बहुत कम करता है और पठनीय नहीं है ... – aditya

+0

ऊपर सुझाए गए UIWebView + SFHFStringMetrics श्रेणी की तरह उपयोगी हो सकता है। यह अपने आयामों को निर्धारित करने के लिए प्रस्तुत दस्तावेज़ पर कुछ जावास्क्रिप्ट को आमंत्रित करता है। – warrenm

8
webView.scalesPageToFit = YES; 

यह भी देखें: UIWebView+SFHFStringMetrics

+0

मैं UIWebView + SFHFStringMetrics का उपयोग कर रहा हूं लेकिन आकार प्राप्त कर रहा हूं (0.00,0.00) क्या आप मुझे मार्गदर्शन कर सकते हैं कि मैं कौन सी गलती कर रहा हूं? –

4

उम्मीद है कि इस सही दिशा में इंगित करेंगे।

UIWebView पर विधि को कॉल करके आप UIWebView में अपने एप्लिकेशन से जावास्क्रिप्ट निष्पादित कर सकते हैं।

// get the height of your content 
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"]; 

// get the width of your content 
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"]; 

ऊपर चौड़ाई और जो कुछ तत्व आप getElementById समारोह में पारित की ऊंचाई के साथ एक NSString वस्तु वापस आ जाएगी। उस जानकारी के साथ आप अपनी सामग्री को समायोजित करने के लिए UIWebView का आकार बदल सकते हैं। एक उदाहरण:

CGRect frame = webView.frame; 
frame.size.width = 100; 
webView.frame = frame; 

तुम भी फिर से scalesPageToFit पुनर्स्थापित करने के लिए नया फ्रेम आकार करने के लिए फिर से समायोजित करने के लिए सामग्री प्राप्त करने की आवश्यकता हो सकती है।

एक और विकल्प HTML पक्ष पर window.height और window.width का पता लगाने और UIWebView के पहलुओं के भीतर फिट करने के लिए सामग्री को समायोजित करने के लिए जावास्क्रिप्ट का उपयोग करना होगा।

+1

विचार UIWebView के फ्रेम को नहीं बदला है ... कहें, UIWebView की चौड़ाई और ऊंचाई क्रमश: 320 और 440 पर सेट है ... अब विचार केवल 320x440 दृश्य में प्रदर्शित HTML सामग्री को फिट करना है ... । कोई सुझाव??? – aditya

+0

उत्तरों की तरह ध्यान दिया गया है, मुझे नहीं लगता कि आप इसे एप्लिकेशन के पक्ष में करने में सक्षम होंगे। आपको HTML पक्ष पर कुछ जावास्क्रिप्ट लिखना होगा जो विंडो की चौड़ाई/ऊंचाई निर्धारित करता है और इसे सामग्री कंटेनर की चौड़ाई/ऊंचाई से तुलना करता है और तदनुसार समायोजित करता है। – Intelekshual

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