2015-11-26 5 views
5

का उपयोग कर UITextField में सभी टेक्स्ट का चयन कैसे करें मैं नीचे कोड का उपयोग कर रहा हूं, लेकिन किसी कारण से यह काम नहीं कर रहा है। कोई उपाय?स्विफ्ट

This is what I get:

+1

से तेजी से 4 के लिए कोई संभावना है कि "पाठ फ़ील्ड" और "self.textField" अलग हैं? – Michael

उत्तर

2

आशा इस काम करता है:

textField.text = "Hello" 

textField.becomeFirstResponder() 

textField.selectedTextRange = self.textField.textRangeFromPosition(self.textField.beginningOfDocument, toPosition: self.textField.endOfDocument) 

यह मैं क्या मिलता है।

func textFieldDidBeginEditing(textField: UITextField) { 
     textField.selectedTextRange = self.textField.textRangeFromPosition(self.textField.beginningOfDocument, toPosition: self.textField.endOfDocument) 
    } 
3

मैं एक ही समस्या थी और मैं इस तरह हल:

पहले, अपने पाठ फ़ील्ड प्रतिनिधि अपने ViewController

class ViewController : UITextFieldDelegate 

तब में UITextFieldDelegate लागू, सेट "स्व"

textField.delegate = self 
को

फिर, इस फ़ंक्शन को अपने व्यू कंट्रोलर क्लास

012 पर जोड़ें
func textFieldDidBeginEditing(textField: UITextField) { 
    textField.selectedTextRange = textField.textRangeFromPosition(textField.beginningOfDocument, toPosition: textField.endOfDocument) 
} 

आप पहले से ही अन्य टेक्स्ट फ़ील्ड है कि आप इस तरह से व्यवहार नहीं करना चाहते हैं के लिए प्रतिनिधि के रूप में ViewController का उपयोग कर रहे हैं, तो आप केवल एक स्विच इस तरह उपयोग कर सकते हैं,:

func textFieldDidBeginEditing(textField: UITextField) { 
    switch textField { 
     case yourTextField: 
       textField.selectedTextRange = textField.textRangeFromPosition(textField.beginningOfDocument, toPosition: textField.endOfDocument) 
       break; 

     case default: 
       break; 
    } 
} 
2

अन्य में से कोई भी जवाब मेरे लिए काम किया। यह पता चला कि मैं में viewDidAppearviewDidLoad के बजाय मेरी कोड रखने के लिए आवश्यक:

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 

    textField.becomeFirstResponder() 
    textField.selectedTextRange = textField.textRange(from: textField.beginningOfDocument, to: textField.endOfDocument) 

} 

मैं यह भी पता चला है कि वहाँ सभी पाठ है कि दूसरों से सहायक हो सकता चयन करने के लिए कुछ अतिरिक्त तरीके हैं कि:

// Select all without showing menu (Cut, Copy, etc) 
textField.SelectAll(nil) 

// Select all and show menu 
textField.SelectAll(self) 
0

अद्यतन 2017

func textFieldDidBeginEditing(_ textField: UITextField) 
    { 
     textField.selectedTextRange = textField.textRange(from: textField.beginningOfDocument, to: textField.endOfDocument) 
    }