2011-09-22 4 views
15

मेरे पास लोड किए गए HTML के साथ सरल UIWebView है। मैं पॉपओवर व्यू को चयनित टेक्स्ट की ओर इशारा करना चाहता हूं। मैं UIMenuController का मेनू फ्रेम प्राप्त कर सकता हूं और इसके आय का उपयोग कर सकता हूं, लेकिन परिणाम की आवश्यकता के रूप में स्क्रीन के कोनों पर परिणाम सटीक नहीं है। मैं स्क्रीन आकार की गणना कर सकता हूं और मेनू फ्रेम प्राप्त कर सकता हूं और फिर मुझे लगता है कि चयन कहां मिल सकता है, लेकिन मुझे बिल्कुल पता होना चाहिए कि चयनित टेक्स्ट कहां है। क्या यह आम तौर पर संभव है?UIWebView में चयनित टेक्स्ट के लिए निर्देशांक (CGRect) कैसे प्राप्त करें?

उत्तर

15

आप चयनित टेक्स्ट की श्रेणी ऑब्जेक्ट पर जावास्क्रिप्ट फ़ंक्शन getBoundingClientRect() का उपयोग कर सकते हैं। 0

- (CGRect)rectForSelectedText{ 
    CGRect selectedTextFrame = CGRectFromString([self stringByEvaluatingJavaScriptFromString:@"getRectForSelectedText()"]); 
    return selectedTextFrame; 
} 
+0

मैं कोशिश की है, लेकिन यह रिटर्न {(0,0), (: इस तरह मैं यह कर:

function getRectForSelectedText() { var selection = window.getSelection(); var range = selection.getRangeAt(0); var rect = range.getBoundingClientRect(); return "{{" + rect.left + "," + rect.top + "}, {" + rect.width + "," + rect.height + "}}"; } 

और UIWebView पर एक वर्ग में, आप इसे इस तरह की तरह इस्तेमाल कर सकते हैं , 0)} क्या आप – dineshprasanna

+1

कृपया मेरी मदद कर सकते हैं यदि हम UIWebView की स्केल्सपेजटफिट संपत्ति सेट करते हैं तो यह अपेक्षा के अनुसार काम नहीं करता है। इसके लिए कोई अन्य समाधान। – Girish

+0

क्या यह पीडीएफ फाइल के लिए काम करता है? –

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