これは不可能に思えますが、他の誰かが同じ問題を抱えている可能性があります。
プログラムでオートコンプリートを受け入れることはできますか、またはポップアップする単語の候補を何らかの方法で取得することはできますか? 私の問題は、return/backspace キーストロークをキャプチャしてから、フォーカスを別のテキストビューに移動することです。Enter/Backspace キーを押すと、テキストビューは自動提案された単語を無視します。ヒットスペース/ドット(および新しい行に戻る)によるオートコンプリートを受け入れることしかできないようです。このコードで:
- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {
NSRange textViewRange = [textView selectedRange];
// Handle newrow and backspace.
if(([text length] == 0) && (textViewRange.location== 0) && textViewRange.length==0){
// BACKSPACE KEYSTROKE
[delegate doSomethingWhenBackspace];
return NO;
}else if ([text isEqualToString:@"\n"]){
// RETURN KEYSTROKE
[delegate doSomethingWhenReturn];
return NO;
}
return YES;
}
リターンキーが押されたときにプログラムで「スペース」を追加しようとしましたが、オートコンプリートされた単語も無視されます。
else if ([text isEqualToString:@"\n"]){
// Tryin to accept autocomplete with no result.
textview.text = [textview.text stringByAppendingString:@" "];
// RETURN KEYSTROKE
[delegate doSomethingWhenReturn];
return NO;
}
助言がありますか?