क्या टेक्स्ट फ़ील्ड की UITextRange ऑब्जेक्ट के माध्यम से UITextField की वर्तमान कैरेट स्थिति में जाने का कोई तरीका है? UITextRange UITextField द्वारा किसी भी उपयोग के लिए भी लौटाया गया है? UITextPosition के लिए सार्वजनिक इंटरफ़ेस में कोई दृश्यमान सदस्य नहीं हैं।UITextField में UITextPosition
उत्तर
मुझे कल रात एक ही समस्या का सामना करना पड़ रहा था। यह पता चला है कि आपको स्थिति को काम करने के लिए चयनित श्रेणी के "प्रारंभ" की सापेक्ष स्थिति प्राप्त करने के लिए UITextField पर ऑफसेट फ्रॉमपोजिशन का उपयोग करना होगा।
उदा।
// Get the selected text range
UITextRange *selectedRange = [self selectedTextRange];
//Calculate the existing position, relative to the beginning of the field
int pos = [self offsetFromPosition:self.beginningOfDocument
toPosition:selectedRange.start];
मैं endOfDocument का उपयोग कर समाप्त हो गया के रूप में यह आसान था पाठ क्षेत्र बदलने के बाद उपयोगकर्ता की स्थिति को बहाल करने के लिए। मुझे लगता है कि यहाँ पर एक ब्लॉग पोस्टिंग लिखा है:
http://neofight.wordpress.com/2012/04/01/finding-the-cursor-position-in-a-uitextfield/
मैं uitextfield पर एक वर्ग का इस्तेमाल किया और लागू किया setSelectedRange और selectedRange (बस UITextView वर्ग में लागू तरीकों की तरह)। उदाहरण के लिए नीचे दिए गए कोड के साथ B2Cloud here पर एक उदाहरण मिलता है:
@interface UITextField (Selection)
- (NSRange) selectedRange;
- (void) setSelectedRange:(NSRange) range;
@end
@implementation UITextField (Selection)
- (NSRange) selectedRange
{
UITextPosition* beginning = self.beginningOfDocument;
UITextRange* selectedRange = self.selectedTextRange;
UITextPosition* selectionStart = selectedRange.start;
UITextPosition* selectionEnd = selectedRange.end;
const NSInteger location = [self offsetFromPosition:beginning toPosition:selectionStart];
const NSInteger length = [self offsetFromPosition:selectionStart toPosition:selectionEnd];
return NSMakeRange(location, length);
}
- (void) setSelectedRange:(NSRange) range
{
UITextPosition* beginning = self.beginningOfDocument;
UITextPosition* startPosition = [self positionFromPosition:beginning offset:range.location];
UITextPosition* endPosition = [self positionFromPosition:beginning offset:range.location + range.length];
UITextRange* selectionRange = [self textRangeFromPosition:startPosition toPosition:endPosition];
[self setSelectedTextRange:selectionRange];
}
@end
धन्यवाद। आपके कोड ने मुझे यह पता लगाने में मदद की कि मैं 'UITextView' के साथ' UITextPosition' का उपयोग कैसे कर सकता हूं। – derpoliuk
- 1. UITextField
- 2. UITextField
- 3. UITextField
- 4. UITextField
- 5. UiTextField
- 6. UITextField
- 7. UITextField
- 8. UITextField
- 9. UITextField
- 10. UITextField
- 11. UITextField
- 12. UITextfield
- 13. UITextfield
- 14. UITextField
- 15. UITextField
- 16. UITextfield
- 17. UITextField
- 18. UITextField
- 19. uitextfield positionFromPosition: ऑफसेट काम नहीं कर रहा है emojis
- 20. कस्टम UITextField
- 21. UITextField कीबोर्ड
- 22. अगले UITextField
- 23. UITextField फोकस
- 24. UITextField leftView
- 25. - [UITextField isFirstResponder] फ़ील्ड वर्तमान में
- 26. मान्य iphone में UITextField में ईमेल पता
- 27. एक आईफोन UITextField
- 28. UITextField एकाधिक लाइनें
- 29. फ़िल्टरिंग वर्ण UITextField
- 30. UITextField "पूर्ण" से "पोस्ट"
आपका लिंक एक संदिग्ध मैलवेयर साइट पर इंगित करता है। कृपया इसे देखें –