2011-06-02 14 views
10

मैं यह पता लगाने का तरीका ढूंढ रहा हूं कि किसी में ज़ूम किया गया है, वेब ऐप पर कैसे है ताकि जब वे मेनू खींचने के लिए क्लिक करें, तो मेनू ज़ूम के बावजूद एक ही आकार में रहता है। ऐसा करने के लिए, मुझे ज़ूम के सापेक्ष उचित रूप से मेनू के आकार को स्केल करने में सक्षम होना चाहिए। क्या इसे करने का कोई तरीका है?आईपैड ज़ूम स्केल डिटेक्शन

+0

बहुत सारे खुदाई के बाद, इस सवाल का जवाब देना चाहते हैं। एक बक्षीस सेट करना –

उत्तर

6

सबसे पहले, सभी UIWebViewUIScrollView सबव्यू के रूप में है। उसके बाद आप UIScrollView उपयोग कर सकते हैं ज़ूम पैमाने पता लगाने के लिए

for (UIView * v in [_webView subviews]) { 

    if ([v isKindOfClass:[UIScrollView class]]) { 
     UIScrollView * s = (UIScrollView*)v; 
     // use the scrollview 
    } 

} 

: तो, ताकि इसे प्राप्त करने के लिए आप निम्न कर सकता है। दुर्भाग्य से, संपत्ति zoomScale हमें इस मामले में बता नहीं है, है, हम क्या चाहते हैं, लेकिन हम contentSize और scrollview की frame उपयोग कर सकते हैं निम्नलिखित के रूप में,:

CGFloat zoomScale = s.contentSize.width/s.frame.size.width; 

उसके बाद, मैं आप चाहते हैं लगता है इस ज़ूमस्केले के बारे में अपने जावास्क्रिप्ट कोड को बताने के लिए। आप निम्नलिखित कोड का उपयोग कर सकते हैं:

[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"yourJSZoomScaleVar = %f;", zoomScale]]; 

उम्मीद है कि यह मदद करता है!

+0

क्षमा करें, मुझे पता है कि मैं इसे एक वास्तविक वेब पेज के संदर्भ में ढूंढ रहा था। आगे के शोध से पता चलता है कि यह window.innerWidth/screen.width का कुछ व्युत्पन्न होगा। कल इसे और देखने का मौका मिलेगा। –

+0

यह वास्तव में मदद करता है! धन्यवाद! – Mason

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