UITextField
shouldChangeCharactersInRange
delegate
簡体字中国語キーボードで自動修正バーから単語が選択された場合、メソッドは呼び出されません。「ni hao」と入力すると、このdelegate
メソッドが文字ごとに呼び出されますが、オートコレクト候補バーから単語を選択すると、このデリゲート メソッドは呼び出されません。これはiOS 7
簡体字中国語でのみ発生し、日本語キーボードでは問題なく動作します。単語を選択するときにアプリケーション固有のアクションを実行したい。どんな助けでも大歓迎です。
質問する
1590 次
2 に答える
2
今日も同じ問題に遭遇しました。以下のように修正しました。
デリゲートを使用しないでください。通知を使用してください。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChanged:) name:UITextFieldTextDidChangeNotification object:nil];
于 2013-11-28T06:21:54.710 に答える
0
私もこの問題に遭遇しました。@AnkyHe のソリューションに感謝します。これが私の実装です。
UITextField を保持する ViewController で:
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(textChanged:)
name:UITextFieldTextDidChangeNotification
object:nil];
}
- (void)textChanged:(NSNotification *)notif
{
UITextField *editingTextField = (UITextField *)notif.object;
NsLog(@"changed textL %@", editingTextField.text);
}
于 2014-09-07T10:56:35.813 に答える