2013-08-24 14 views
6

मैं एक UITextView एक UIView जो आकार दिया जा सकता अंदर लिपटे (बढ़ती फ्रेम और फ़ॉन्ट आकार) है, और आवर्धक कांच छोटे TextView के साथ ठीक काम करता है आकारUITextView

Magnifying glass working normal

लेकिन अगर मैं TextView आकार एक बहुत बढ़ाने के लिए, आवर्धक कांच इसके फ्रेम

enter image description here

से बाहर जा रहा शुरू होता है मैं सिर्फ curso को प्रभावित किए बिना आवर्धक कांच हटा सकते हैं आर चयन, या कांच के अंदर पैमाने मूल्य कम करें ताकि सामग्री अपने फ्रेम फिट बैठता है?

+0

http://stackoverflow.com/questions/10640781/disable-magnifying-glass-in -uitextview – iPatel

+0

मैं UILongPressGestureRecognizer को हटाना नहीं चाहता, मैं कर्सर को टेक्स्टव्यू के अंदर ले जाने में सक्षम होना चाहता हूं, केवल आवर्धक ग्लास के बिना, या आवर्धक ग्लास स्केल आकार को कम करना चाहता हूं ताकि पाठ आवर्धक ग्लास 'फ्रेम – Efesus

उत्तर

1

ठीक है, कर्सर को स्थानांतरित करने की क्षमता को हटाए बिना आवर्धक ग्लास को अक्षम करने में कामयाब रहा।

ऐसा करने के लिए, मैंने आवर्धक ग्लास से छुटकारा पाने के लिए UILongPressGestureRecognizer को हटा दिया। तब उपयोगकर्ता

CGPoint currentPos = [panRecognizer locationInView:self]; 

के स्पर्श स्थान को ट्रैक करने के लिए अपने UIPanGestureRecognizer इस्तेमाल किया और फिर कर्सर स्थान निर्धारित

UITextPosition *cursorPosition=[self closestPositionToPoint:CGPointMake(currentPos.x, currentPos.y)]; 
[self setSelectedTextRange:[self textRangeFromPosition:cursorPosition toPosition:cursorPosition]]; 
0

आवर्धक ग्लास को अक्षम करने के लिए बस userInteractionEnabled संपत्ति NO पर सेट करें। इसके बाद आपको becomeFirstResponder पर मैन्युअल रूप से कॉल करना होगा जब UITextField टैप किया गया हो। ऐसा करने के लिए आप TapGestureRecognizer का उपयोग कर सकते हैं।

+0

के अंदर फिट हो पूरी तरह से उपयोगकर्ता इंटरैक्शन को अक्षम करने के लिए, मैं बस आवर्धक ग्लास को अक्षम करना चाहता हूं। इसके अलावा मेरे पास हिटटेस्ट है जो userInteractionEnabled प्रॉपर्टी को ओवरराइड करता है – Efesus