私はUITextFieldを持つUIAlertViewを持っています。私はUIAlertViewデリゲートを接続していて、UITextFieldのテキストに応じてalertViewShouldEnableFirstOtherButton:
にYESまたはNOを返します。UIAlertViewは、変更後に `alertViewShouldEnableFirstOtherButton:`を呼び出す方法を教えてください。
私はtextFieldのテキストをプログラムで変更する必要があります。これは期待どおりに動作します。
残念ながら、私はUIAlertViewをalertViewShouldEnableFirstOtherButton:
代理メソッドを呼び出す方法を知らないので、textFieldのテキストを変更した後に他のボタンを有効または無効にします。
私はUIAlertViewがUITextFieldのターゲットとして登録すると思っていたので、textFieldからUIControlEventValueChanged
を送信しようとしました。うまくいきませんでした。スタックトレースから
私は、デリゲートメソッドは、プライベートUIAlertView方法_alertSheetTextFieldDidChange:
から呼び出された考え出しました。
したがって、テキストを変更した後に[self.currentAlert performSelector:@selector(_alertSheetTextFieldDidChange:) withObject:textField];
を実行すると、デリゲートメソッドが呼び出され、ボタンの有効状態が変更されます。しかし、これはプライベートメソッドなので、アプリはおそらく拒否されます。私はそれを危険にさらしたくありません。
アラートビューコールalertViewShouldEnableFirstOtherButton:
を作るためのクリーンな方法はありますか?
を私は、同様にこの問題に遭遇し、この答えは動作し、それを行うための正しい方法であると思われます – Alex