पर स्विचिंग करते समय UITextView को कूदने से रोकें मुझे स्क्रॉलिंग UITextView में एक छोटी सी मात्रा को अपडेट करना होगा। मैं केवल एक चरित्र डालने वाला हूं जहां वर्तमान में कर्सर है, और मैं इसे अपने नेविगेशन बार पर एक बटन के प्रेस पर करूँगा।प्रोग्राम्सेटिक रूप से टेक्स्ट
मेरी समस्या यह है कि जब भी मैं टेक्स्ट व्यू की सेटटेक्स्ट विधि को कॉल करता हूं, तो यह टेक्स्ट के निचले भाग तक जाता है। मैंने सामग्री ऑफसेट का उपयोग करने और चयनित श्रेणी को रीसेट करने का प्रयास किया है लेकिन यह काम नहीं करता है! किसी भी तरह से तुम किसी भी पुस्तक आंदोलन ... के रूप में यदि वे सिर्फ कीबोर्ड पर कुछ टाइप किया था बिना पाठ अद्यतन कर सकते हैं वहाँ है
// Remember offset and selection
CGPoint contentOffset = [entryTextView contentOffset];
NSRange selectedRange = [entryTextView selectedRange];
// Update text
entryTextView.text = entryTextView.text;
// Try and reset offset and selection
[entryTextView setContentOffset:contentOffset animated:NO];
[entryTextView setSelectedRange: selectedRange];
: यहाँ मेरी उदाहरण है?
संपादित करें:
मैं textViewDidChange का उपयोग कर की कोशिश की है: विधि प्रतिनिधि लेकिन यह अभी भी मूल स्थान पर ऊपर स्क्रॉल नहीं है।
- (void)textViewDidChange:(UITextView *)textView {
if (self.programChanged) {
[textView setSelectedRange:self.selectedRange];
[textView setContentOffset:self.contentOffset animated:NO];
self.programChanged = NO;
}
}
- (void)changeButtonPressed:(id)sender {
// Remember position
self.programChanged = YES;
self.contentOffset = [entryTextView contentOffset];
self.selectedRange = [entryTextView selectedRange];
// Update text
entryTextView.text = entryTextView.text;
}
धन्यवाद जाँच की। इस प्रतिनिधि विधि में क्या होना चाहिए? क्या यह सामग्री की अंतिम रीसेटिंग ऑफ़सेट और चयनित श्रेणी होनी चाहिए? –