這似乎不可能,但也許別人有同樣的問題。確認UITextview自動完成
是否可以通過編程方式接受自動填充,或以某種方式獲取彈出的建議詞彙?我的問題是我正在捕獲返回/退格按鍵,然後將焦點移到另一個文本視圖。當輸入/退格命中時,文本視圖將忽略自動建議的單詞。看來只能通過命中空格/點接受自動完成(並返回新行)。有了這個代碼:
- (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;
}
有什麼建議嗎?
這是一個真正可怕的方式來實現這一點。改變`UITextView` /`UITextField`的`firstResponder`屬性,而不是讓UIKit爲你做自動完成工作。 – cbowns 2012-02-03 01:31:47