सॉर्ट किया गया! मैं बस एक 1x1px पाठ दृश्य का उपयोग और प्रतिनिधि विधि textViewDidChangeSelection:
संपादित का उपयोग करें: iOS 6 के लिए मैं पाठ दृश्य काम करने के लिए इस बात के लिए (या कम से कम करने के लिए पर्याप्त वास्तव में पाठ प्रदर्शित करने) 50x50px को बदलना पड़ा
पेडल डिस्कनेक्ट होने पर भी मैं ऑन-स्क्रीन कीबोर्ड दबाकर कामयाब रहा।
यह viewDidLoad में मेरे कोड है:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillAppear:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillDisappear:) name:UIKeyboardWillHideNotification object:nil];
UITextView *hiddenTextView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
[hiddenTextView setHidden:YES];
hiddenTextView.text = @"aa";
hiddenTextView.delegate = self;
hiddenTextView.selectedRange = NSMakeRange(1, 0);
[self.view addSubview:hiddenTextView];
[hiddenTextView becomeFirstResponder];
if (keyboardShown)
[hiddenTextView resignFirstResponder];
keyboardShown
मेरी हेडर फाइल में एक bool
के रूप में घोषित किया गया है।
तो इन तरीकों जोड़ें:
- (void)textViewDidChangeSelection:(UITextView *)textView {
/******TEXT FIELD CARET CHANGED******/
if (textView.selectedRange.location == 2) {
// End of text - down arrow pressed
textView.selectedRange = NSMakeRange(1, 0);
} else if (textView.selectedRange.location == 0) {
// Beginning of text - up arrow pressed
textView.selectedRange = NSMakeRange(1, 0);
}
// Check if text has changed and replace with original
if (![textView.text isEqualToString:@"aa"])
textView.text = @"aa";
}
- (void)keyboardWillAppear:(NSNotification *)aNotification {
keyboardShown = YES;
}
- (void)keyboardWillDisappear:(NSNotification *)aNotification {
keyboardShown = NO;
}
मुझे आशा है कि इस कोड है जो इस समस्या का समाधान की तलाश में है किसी और में मदद करता है। इसका इस्तेमाल करने के लिए स्वतंत्र महसूस करें।
क्या यह 'UIWebView' के साथ काम करेगा? – Dmitry
@Altaveron keyCommands प्रॉपर्टी UIResponder पर एक संपत्ति है और UIWebView UIResponder से विरासत में है, इसलिए मुझे कोई कारण नहीं दिख रहा कि यह क्यों काम नहीं करेगा। – amergin
'UIWebView' कई सबव्यूज़ के लिए एक कंटेनर है। – Dmitry