2

ユーザーがフィールドをタップして編集を開始したときに、UITextField のテキストを選択しようとしています。通常、最初にフィールド全体を消去したいので、ダブルタップしてすべてを選択する必要がなくなります。

.h

- (IBAction)urlEditingDidBegin: (id)sender;

.m

- (IBAction)urlEditingDidBegin:(id)sender
{
    NSLog(@"Select Contents");

    [sender setText:@"Why isn't this working"];
    [sender selectAll:self];
}

インターフェイス ビルダーで、UITextField の「Editing Did Begin」イベントをファイルの所有者に接続し、それを urlEditingDidBegin メソッドに接続しました。

UITextField をタップすると、フィールド内のテキストが「なぜこれが機能しないのか」に変わります。これは、メソッドが実行され、送信者が正しいことを証明しますが、テキストは選択されません。

私は何を間違っていますか?

4

3 に答える 3

3

一般に、テキストをクリアする簡単な方法をユーザーに提供したい場合は、xib でクリアボタンを「編集中に表示」に設定するか、呼び出してクリアを追加します。

[textField setClearButtonMode:UITextFieldViewModeWhileEditing];

プログラムでテキストを選択するのは魅力的に聞こえますが、たとえば編集メニューを開く傾向があるため、より多くの問題に遭遇すると思います。

于 2011-09-16T15:47:23.557 に答える
1

実際にはテキストが選択されましたが、視覚的なフィードバックはありませんでした。たとえば、この回答を見てください

于 2011-09-15T13:28:47.597 に答える
0

デリゲートを自分自身に設定<UITextFieldDelegate>し、.h ファイルに渡します

于 2011-09-15T13:29:52.483 に答える