2010-04-14 9 views
5

मैं यूआईटीएक्स्टव्यू पर टेक्स्ट का चयन करना चाहता हूं, डिफ़ॉल्ट "चयन करें" और "सभी का चयन करें" पॉप विकल्पों के समान, जब हम टैप करते हैं तो हम देखते हैं। मैं उपयोगकर्ता को अपने कस्टम मेनू से ऐसा करने की क्षमता चाहता हूं। मैंने चयनित श्रेणी के साथ खेला लेकिन यह चाल नहीं लगता है। कोई विचार?क्या मैं प्रोग्रामिंग रूप से UITextView में टेक्स्ट का चयन कर सकता हूं?

धन्यवाद

+0

क्या आप वह कोड पोस्ट कर सकते हैं जहां आपने 'चयनित श्रेणी' का उपयोग करने का प्रयास किया है? यह सही दृष्टिकोण की तरह लगता है; यह संभव है कि आप इसे एक अवैध सीमा या कुछ दे रहे हों। –

+0

मुझे एक ही समस्या है। मैं उस पाठ के लिए सही सीमा प्राप्त करने में सक्षम हूं जिसे मैं चुनना चाहता हूं (UITextView सही स्थिति पर स्क्रॉल करता है) लेकिन सीमा में पाठ का कोई "हाइलाइट" नहीं है और न ही एक प्रविष्टि बिंदु है। मुझे आश्चर्य है कि क्या मुझे UITextView को "सक्रिय" या कुछ पहले संदेश भेजने की आवश्यकता है? – jasongullickson

उत्तर

5

selectedRange संपत्ति केवल iPhone OS 3.0 और बाद में के रूप में documentation में बताया गया है कि यह करना चाहिए लेकिन,,। 2.2 और इससे पहले, selectedRange संपत्ति वास्तव में एक प्रविष्टि बिंदु है।

+1

नोट करें कि 'एनएसआरेंज' बनाने के लिए फ़ंक्शन 'एनएसएमकेरेंज()' 'एनआरआरेंजमेक()' जैसा कि आप उम्मीद कर सकते हैं। – devios1

4

स्वीकार किए जाते हैं जवाब में उल्लेख किया है, selectedRange संपत्ति बात आप की जरूरत है, लेकिन सावधान रहना है कि आप -textViewDidBeginEditing: प्रतिनिधि विधि का उपयोग कर रहे हैं यदि आप उत्पन्न उपयोगकर्ता "प्रविष्टि से बाहर जीतने के लिए क्रम में एक रन पाश स्थगित करने की आवश्यकता हो सकती है "कार्रवाई:

- (void)textViewDidBeginEditing:(UITextView *)textView 
{ 
    // Look for the default message and highlight it if present 
    NSRange defaultMsgRange = [textView.text rangeOfString:NSLocalizedString(@"TEXTFIELD_DEFAULT_MESSAGE", nil) options:NSAnchoredSearch]; 

    BOOL isDefaultMsg = !(defaultMsgRange.location == NSNotFound && defaultMsgRange.length == 0); 
    if (isDefaultMsg) { 

     // Need to delay this by one run loop otherwise the insertion wins 
     [self performBlock:^(id sender) { // (BlocksKit - use GCD otherwise) 

      textView.selectedRange = defaultMsgRange; 

     } afterDelay:0.0]; 
    } 
} 
संबंधित मुद्दे

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