0

私のビューにはテキストフィールドとボタンがあり、テキストフィールドが空の場合、ユーザーがボタンをクリックできるようにしたくありません。ユーザーがテキストフィールドに何かを入力すると、ボタンはクリック可能になります。これどうやってするの?ありがとうございました。

4

4 に答える 4

1

テキスト フィールドへの変更をリッスンします。enabledテキストが変更されると、テキストの有無に基づいてボタンのプロパティを更新します。もちろん、ボタンの状態も最初に設定する必要があります。

// Setup the text field change listener (this can be done in IB if appropriate)
// Put this in viewDidLoad if not using IB.
UITextField *myTextField = ... // a reference to the text field
[myTextField addTarget:self action:@selector(textFieldChangedAction:) forControlEvents:UIControlEventEditingChanged];

// Initialize the button's state (put this in viewDidLoad)
myButton.enabled = myTextField.text.length > 0;

// The method called as the text changes in the text field
- (void)textFieldChangedAction:(UITextField *)sender {
    myButton.enabled = sender.text.length > 0;
}
于 2013-03-20T02:41:04.243 に答える
1

UITextField には、次を設定できます。

[textField addTarget:self action:@selector(editing:) forControlEvents:UIControlEventAllEditingEvents];

次に、編集で:持っている:

-(void)editing:(UITextField *)sender {
    myButton.enabled = ![sender.text isEqualToString:@""];
}
于 2013-03-20T02:45:44.870 に答える
0

必要に応じて、ボタンのアルファ値を 0 に設定してボタンを「隠す」ことができます。テキストフィールドが少なくとも 1 文字の長さの場合は、ボタンのアルファ値を 1 に設定してボタンを「表示」します。これは概念的には簡単で、ユーザーにとって非常に見栄えがするものだと思います。

于 2013-03-20T02:47:44.787 に答える
0

textfield.delegate を self に設定します次に、デリゲートで textfielddidbeginediting (チェックは textfield が @"" であることを確認してから、ボタンを無効にします

それ以外の場合は、ボタンを有効にします)

そして、もう1つあります。使用できるデリゲート

テキストの変更文字

そしてviewdidloadでは、ボタンの最初の状態を無効にする必要があります

于 2013-03-20T02:49:19.290 に答える