Могу ли я принять автозаполнение программно или каким-то образом получить предложенное слово, которое всплывает? Моя проблема в том, что я фиксирую нажатие клавиши возврата/возврата, а затем перемещаю фокус на другое текстовое представление. При нажатии 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;
}
Подробнее здесь: https://stackoverflow.com/questions/850 ... o-complete
Мобильная версия