2013-08-31 6 views
8

मैं एक UITextView अपने प्रतिनिधि मेरे विचार नियंत्रक करने के लिए सेट है कि हैपता करें कि कब कर्सर ले जाया जाता है (UITextView)

मैं प्रतिनिधि के तरीकों, उपवर्गीकरण, चयनकर्ताओं के माध्यम से पता लगाने के लिए, पता लगाना में आपकी मदद की करना चाहते हैं और क्या नहीं, जब कर्सर स्थानांतरित हो जाता है।

मैं -textViewDidChange और अन्य सभी प्रतिनिधि तरीकों के बीच -textViewDidChangeSelection की कोशिश की है, लेकिन वे जब कर्सर TextView के भीतर ले जाया गया था बुलाया नहीं मिलता ...

तो कैसे मैं जब कैरट में ले जाया जाता है खोज कर सकते हैं मेरे UITextView और उन पर कदम उठाना आवश्यक के रूप में (कुछ कोड को चलाने)

यह एक अव्यावहारिक सवाल की तरह लग सकता है, लेकिन मैं एक परिदृश्य है, जहां मैं एक लेबल अद्यतन करने के लिए जब कर्सर को ऊपर ले जाया जाता है या नीचे तो मैं

अंजीर चाहते हैं की जरूरत है

धन्यवाद, मुझे आशा है कि मैं जितना संभव हो सके

+4

'textViewDidChange चयन:' 'UITextView' प्रतिनिधि विधि उपयोग करने के लिए सही है। यदि इसे नहीं कहा जा रहा है तो आपने टेक्स्ट व्यू की 'प्रतिनिधि' संपत्ति को ठीक से सेट नहीं किया है। – rmaddy

उत्तर

13

बस @ rmaddy की टिप्पणी पर विस्तार करने के लिए। पाठ दृश्य में चयनित श्रेणी में परिवर्तन होने पर आप अधिसूचित होने के लिए UITextViewDelegate विधि -textViewDidChangeSelection: का उपयोग करना चाहेंगे। वहां से, आप टेक्स्ट दृश्य के selectedRange संपत्ति के माध्यम से टेक्स्ट के चयन का प्रतिनिधित्व करने वाले NSRange तक पहुंच सकते हैं।

- (void)textViewDidChangeSelection:(UITextView *)textView 
{ 
    NSRange range = textView.selectedRange; 
} 
संबंधित मुद्दे