UIWebView पर ज़ूमिंग / चुटकी सक्षम करें


106

मेरे पास एक पीडीएफ फाइल के साथ एक UIWebView है। यह बढ़िया काम करता है। लेकिन मैं पीडीएफ-फाइल पर ज़ूमिंग कैसे सक्षम कर सकता हूं?

जवाबों:


231

सुनिश्चित करें कि आपने "फिट करने के लिए तराजू पृष्ठ" की जाँच की है


क्या आपके पास पीडीएफ पर प्रदर्शन को ज़ूम करने के बारे में कोई सुझाव है? मैं ज़ूम करने पर एक कष्टप्रद काला प्रभाव डालता हूं।
0wn3r

1
यह ज़ूम करने में सक्षम बनाता है, लेकिन प्रारंभिक
डैनियल

कार्य लेकिन यह अन्य चीजों के साथ समस्या पैदा करता है .. उदाहरण के लिए stackoverflow.com/questions/33617217/…
jose920405

मेरे लिये कार्य करता है। धन्यवाद!
व्यवसायिक

46

आप webView.scalesPageToFit=YES;प्रोग्रामेटिक रूप से उपयोग कर सकते हैं

यदि आप xib का उपयोग सिर्फ की तुलना में कर रहे हैं click the check box "Scaling" scales Page to fit


29

UIWebView को ज़ूम करने के लिए यह तर्क, UIScrollView पर UIWebView को जोड़ने की आवश्यकता नहीं है

अच्छी तरह से केवल इसके साथ समस्या webView.scalesPageToFit = YES;है, यह फ़ॉन्ट आकार की प्रारंभिक सामग्री को बदल देगा लेकिन मुझे अन्य विकल्प मिला

<UIWebViewDelegate, UIScrollViewDelegate>अपनी .h फ़ाइल में जोड़ें

आपकी रचना UIWebView.

self.mWebview = [[UIWebView alloc] init];
self.mWebview.delegate = self; /// set delegate method of UIWebView
self.mWebview.frame = CGRectMake(0, 35, self.view.bounds.size.width, self.view.bounds.size.height - 80); // set frame whatever you want..
[self.mWebview setOpaque:NO];
self.mWebview.backgroundColor = [UIColor clearColor];
[self.view addSubview:self.mWebview];

लोड HTML फ़ाइल / सामग्री के साथ।

NSString* htmlString = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"File Name"ofType:@"html"] encoding:NSUTF8StringEncoding error:nil];
[self.mWebview loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];


#pragma mark -
#pragma mark - Webview Delegate Methods

- (void) webViewDidFinishLoad:(UIWebView *)webView
{
    webView.scrollView.delegate = self; // set delegate method of UISrollView
    webView.scrollView.maximumZoomScale = 20; // set as you want.
    webView.scrollView.minimumZoomScale = 1; // set as you want.

    //// Below two line is for iOS 6, If your app only supported iOS 7 then no need to write this.
    webView.scrollView.zoomScale = 2;
    webView.scrollView.zoomScale = 1;
}

#pragma mark -
#pragma mark - UIScrollView Delegate Methods

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale
{
    self.mWebview.scrollView.maximumZoomScale = 20; // set similar to previous.
}

नोट: मुझे Xcode 5.1.1 और iOS वर्जन 6.1 और बाद वाले Mac OS X - 10.9.3 पर परीक्षण करना था।

मुझे उम्मीद है कि यह आपके लिए उपयोगी होगा। :)


1
स्क्रॉलिंगडीडइंडजूमिंग की जरूरत नहीं थी कि मुझे सही तरीके से काम करने के लिए जूम करना पड़े। निश्चित नहीं है कि उस कोड का क्या अभिप्राय है क्योंकि यह उसी मान को रीसेट कर रहा है जो पहले उसी मान पर सेट किया गया था!
नॉर्मन एच

1
हां बिल्कुल, क्यों स्क्रॉलडाउडइंडजूमिंग भाग की आवश्यकता है? लेकिन इसके अलावा, शानदार जवाब। इसने उन पन्नों को भी जूम कर दिया जो कि "स्कैल्स पेज टू फिट" प्रॉपर्टी को सेट करके जूम नहीं किया गया था।
GKK

25

मुझे पता है कि यह सवाल बहुत पुराना है, लेकिन हर कोई जो स्टोरीबोर्ड का उपयोग कर रहा है और यहां एक दृश्य उत्तर पसंद करता है। बस इस बॉक्स को WebView के गुण निरीक्षक में देखें:

यहां छवि विवरण दर्ज करें


18

यदि आप प्रोग्रामेटिक रूप से करना चाहते हैं तो उपयोग करें

webView.scalesPageToFit = true; 

यदि आप स्टोरीबोर्ड का उपयोग कर रहे हैं तो आपको फिट करने के लिए चेक बॉक्स "स्केलिंग" स्केल पेज पर टिक करना होगा यहां छवि विवरण दर्ज करें


6

आप किसी भी pinching और एक UIWebView पर काम करने के लिए जूमिंग के लिए scalesPageToFit = YES सेट करना होगा। यह मेरे लिए काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.