1. ホーム
  2. ios

[解決済み] 空のUITextFieldでバックスペースを検出する

2022-05-31 03:46:36

質問

を検出する方法はありますか? バックスペース / 削除 のキーが押されたとき、iPhoneのキーボードで UITextField が押された場合、そのキーは空なのでしょうか? 私は、いつ バックスペース が押されたときだけ UITextField が空のときだけ押されます。


コメントで@Alex Reynoldsからの提案に基づき、私はテキストフィールドを作成する際に以下のコードを追加しました。

[[NSNotificationCenter defaultCenter] addObserver:self
          selector:@selector(handleTextFieldChanged:)
              name:UITextFieldTextDidChangeNotification
            object:searchTextField];

この通知を受け取った( handleTextFieldChanged 関数が呼ばれる) が、まだ バックスペース キーを押してもダメです。 何かアイデアはありますか?


この質問については、いくつかの混乱があるようです。 私は バックスペース キーが押されたときに通知を受け取りたいのです。 これだけです。 しかし、この解決策は UITextField がすでに空である場合にも動作しなければなりません。

どのように解決するのですか?

これは長丁場かもしれませんが、うまくいくかもしれません。 テキストフィールドのテキストをゼロ幅のスペース文字に設定してみてください。 \u200B . 空白に見えるテキストフィールドでバックスペースが押されると、実際にスペースが削除されます。 その後、スペースを挿入し直せばよいのです。

ユーザーがキャレットをスペースの左側に移動させた場合、動作しないことがあります。