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