2013-12-09 7 views
5

ब्लूर्स करता है I UIWebView के भीतर एक HTML टेक्स्ट लोड कर रहा हूं। पेज डिफ़ॉल्ट ज़ूम बराबर 1.0 के साथ पूरी तरह से लोड हो रहा है। UIWebView की scalesPageToFit प्रॉपर्टी YES पर सेट है, इसलिए पेज को चुटकी इशारे के साथ ज़ूम इन/आउट किया जा सकता है। मैं क्या करना चाहता हूं प्रारंभिक वेब व्यू की सामग्री ज़ूम 2.0 पर सेट करना है।UIWebView के ज़ूम के गैर-एनिमेटेड परिवर्तन सामग्री को

मैं इस कोड की कोशिश की:

webView.scrollView.zoomScale = 2.0; 

लेकिन सामग्री को धुंधला दिखाई देता है, और वेब दृश्य कलंक के बिना सामग्री के रूप में जल्द ही फिर से प्रस्तुत करना के रूप में मैं भाव के साथ जूमिंग चुटकी शुरू करते हैं।

FYI करें, सेटर की एनिमेटेड संस्करण: उचित ज़ूम के साथ

[webView.scrollView setZoomScale:2.0 animated:YES]; 

सामग्री प्रदर्शित पाठ सही ढंग से, और नहीं धुंधला, लेकिन मैं ज़ूम के परिवर्तन चेतन करने के लिए नहीं करना चाहती।

उत्तर

0

यदि आप एनीमेशन देखना नहीं चाहते हैं, तो आप एनीमेशन समय के लिए शून्य दे सकते हैं। कोड के नीचे आपकी मदद करेगा।

[UIView animateWithDuration:0.0 animations:^{ 
      webView.scrollView.zoomScale = 2.0;; 
     }completion:^(BOOL finished) { 
      //... 
     }]; 

एक और सलाह CGAffineTransformMakeScale विधि का उपयोग कर रहा है वेबव्यू पैमाने पर करने के।

webView.transform = CGAffineTransformMakeScale(2, 2); 
0

मुझे नहीं पता था कि एनीमेशन जोड़ने से धुंध प्रभाव गायब हो सकता है, इसलिए आपकी पोस्ट के लिए धन्यवाद, यह सहायक था।

मैं एक ही समाधान आपको लगता है कि लेकिन दुर्भाग्य से, ondermerol का जवाब मेरे लिए काम नहीं करते खोज करते हैं।

मैं ठीक है कि UIScrollView के प्रतिनिधि का उपयोग कर ->UIScrollViewDelegate


1) अपनी कक्षा

@property (nonatomic) BOOL webViewWasForceZooming; 

2) में BOOL संपत्ति जोड़े viewDidLoad में, कनेक्ट अपने प्रतिनिधि और बूल मूल्य

सेट करें
self.webView.scrollView.delegate = self; 
self.webViewWasForceScrolling = NO; 

3) नए पैमाने सेट

self.webView.hidden = YES; 
webViewWasForceZooming = YES; 
[self.webView.scrollView setZoomScale:2.0 animated:YES]; 

4) वेबव्यू वापस दिखाएँ जूमिंग

#pragma mark - UIScrollViewDelegate 

    - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale 
    { 
     if (webViewWasForceZooming) { 
      webViewWasForceZooming = NO; 
      self.webView.hidden = NO; 
     } 
    } 

मेरे समाधान क्योंकि एनीमेशन अवधि अशक्त नहीं है, लेकिन सही नहीं था के बाद वेबव्यू लोड होने के बाद ज़ूम बदलने के लिए, यह अच्छा है।

उम्मीद है कि यह किसी की मदद करेगा।

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