3

UIAlertViewユーザーにパスワードの入力を求めるために を使用しています。パスワードが正しければ、アラート ビューが正常に表示されなくなります。パスワードが間違っている場合は、アラート ビューを残しておいてください (テキストを「もう一度やり直してください」などに変更します)。ボタンが押されたときにビューが消えないように、デフォルトの動作を変更するにはどうすればよいですか?

UIAlertView を却下することはできませんで提案されているサブクラス化メソッドを試しましたが、サブクラスdismissWithClickedButtonIndexで呼び出されていませんでした。ドキュメントを読んだ後、サブクラス化UIAlertViewがサポートされていないことがわかったので、別のアプローチを試してみたいと思います。

でこれが不可能な場合UIAlertView、単純にパスワード ビューを最初から作成するのが最善の方法ですか? 読んでくれてありがとう。

4

3 に答える 3

5

これは非常に古い質問ですが、私は1つの解決策を得て、近い将来他の開発者が必要とするかどうかを投稿しました.

.h ファイルにプロトコル メソッドを実装する

UIAlertView でボタンのタップに応答するために、–alertView:clickedButtonAtIndex: プロトコル メソッドを次のように使用します。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

}
//Now below code will check if uitextfield value.
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
    NSString *inputText = [[alertView textFieldAtIndex:0] text];
    if( [inputText length] > 0)
    {
       //text field value is greater than zero ,then Done button will appear as blue,or else it will be blurred
        return YES;
    }
    else
    {
        return NO;
    }
}
于 2014-05-29T06:53:59.110 に答える
3

alertview に似たUIViewを設計し、その中の関数を呼び出すことができます。UIView の削除は、ユーザーが制御します。

于 2013-11-04T13:07:00.927 に答える
1

ボタンがクリックされたときにアラートをそこに残すことはできません。

alertViewShouldEnableFirstOtherButton:ローカルでパスワードを確認している場合は、デリゲート メソッドで [OK] ボタンを無効にするか、後で別のアラートを表示することができます。2 番目のアラートには、「パスワードを入力してください」の代わりに「パスワードが正しくありません」など、別の情報が含まれる場合があります。

于 2013-11-04T13:25:17.707 に答える