ボタンを設定しました。クリックすると、アラート ビューにテキスト フィールドが表示されます。その変数からデータを取得し、テキスト フィールドの値をローカル変数に追加してデータをラベルに表示する追加関数をトリガーしたいと考えています。どうやってやるの?
3 に答える
delegate
のプロパティを設定し、UIAlertView
そのオブジェクトを に準拠させUIAlertViewDelegate
ます。つまり、 に応答しalertView:clickedButtonAtIndex:
、その間に について問い合わせることができますtextFieldAtIndex
。
UITextField を持つ UIAlertView を既に取得していると仮定しています (UIAlertViewStyleSecureTextInput、UIAlertViewStylePlainTextInput、または UIAlertViewStyleLoginAndPasswordInput のいずれかを使用)。
また、UIAlertView のボタンが押されたときに適切に呼び出されるように、UIAlertViewDelegate を設定したと仮定します。したがって、UITextField の値を取得するにはalertView:clickedButtonAtIndex:
、次のコードを追加します (UITextField が 1 つだけであると仮定します。複数ある場合は、textFieldAtIndex に渡されるパラメーターを変更するだけです。
NSInteger textFieldValueAsInteger = [[alertView textFieldAtIndex:0].text integerValue];
NSInteger finalValue = textFieldValueAsInteger + someOtherIntegerThatYouAlreadyDeclared;
それを表示するかどうかは、UILabel などの設定に大きく依存しますが、基本的には次のとおりです。
UILabel *labelToDisplayResults = [[UILabel alloc] initWithFrame:self.view.frame];
[self.view addSubview:labelToDisplayResults];
[labelToDisplayResults setText:[NSString stringWithFormat:@"%d", finalValue]];
それはそれを行う必要があります。他にご不明な点がございましたら、お気軽にお問い合わせください。
アラート ビューのデリゲートを設定する必要があり、そのオブジェクトはUIAlertViewDelegate プロトコルを採用する必要があります。-alertView:willDismissWithButtonIndex:
デリゲートは、アラートが無視される前にメッセージを受け取ります。そのメソッドのデリゲートの実装は、アラート内のどのテキスト フィールドからでもテキスト-textFieldAtIndex:
を取得できます。さまざまなテキスト フィールドを取得するために使用します。