2013-04-10 14 views
15

शुरू करने के लिए कर्सर सेट करें मुझे टेक्स्टफील्ड पर सेट फोकस पर टेक्स्ट स्थिति शुरू करने के लिए कर्सर को स्थानांतरित करने की आवश्यकता है। क्या यह संभव है?UITextField पाठ स्थिति

उत्तर

20

पाठ क्षेत्र के delegate के रूप में अपने दृश्य नियंत्रक (या कुछ अन्य उचित वस्तु) निर्धारित करें और textFieldDidBeginEditing: विधि इस तरह लागू:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    UITextPosition *beginning = [textField beginningOfDocument]; 
    [textField setSelectedTextRange:[textField textRangeFromPosition:beginning 
                  toPosition:beginning]]; 
} 

ध्यान दें कि setSelectedTextRange: एक है UITextInput (जो UITextField उपकरण) की प्रोटोकॉल विधि, इसलिए आपको इसे सीधे UITextField दस्तावेज़ में नहीं मिलेगा।

+0

अच्छा कोड स्निपेट! मेरे लिए पूरी तरह से काम करता है। –

2

किसी स्विफ्ट में जवाब की तलाश में हैं रहा है:

let desiredPosition = textField.beginningOfDocument 
textField.selectedTextRange = textField.textRangeFromPosition(desiredPosition, toPosition: desiredPosition) 

लेकिन मेरा मानना ​​है कि यह केवल काम करता है अगर कर्सर पाठ क्षेत्र में पहले से ही है। आप इसका उपयोग करने के लिए इसका उपयोग कर सकते हैं:

textField.becomeFirstResponder() 
let desiredPosition = textField.beginningOfDocument 
textField.selectedTextRange = textField.textRangeFromPosition(desiredPosition, toPosition: desiredPosition)