1

を作成しましたがUIAlertView、ユーザーがどのボタンを押したかを確認したいと思います。

私のコードは次のとおりです。

- (IBAction)button1 {
    {
        UIAlertView *alert1 = [[UIAlertView alloc] init];
        [alert1 setTitle:@"Hello"];
        [alert1 setMessage:@"Do you like smoking?"];
        [alert1 addButtonWithTitle:@"Yes"];
        [alert1 addButtonWithTitle:@"No"];
        [alert1 show];
    }
}

if-else ステートメントで確認するにはどうすればよいですか?

4

4 に答える 4

1

ジェフの回答に加えて、ボタンがクリックされたときにロジックを配置するには、他のボタンを有効にする必要があると思います。

コードでボタンを作成するには:

- (IBAction)button1 
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello"
                                                        message:@"Do you like smoking?"
                                                       delegate:self
                                              cancelButtonTitle:@"Yes"
                                              otherButtonTitles:@"No", nil];
    [alert show];
}

ただし、どのボタンがクリックされたかを知る前に、次のデリゲート メソッドを呼び出して、最初の他のボタンを有効にする必要があります。

- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
    return YES;
}

これにより、作成した NO ボタンが有効になります。次に、clickedButtonAtIndex メソッドを使用していくつかのロジックを実行できるようになります。

UIAlertView デリゲート メソッドを実装します。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0) {
        // i love smoking!
    } else if (buttonIndex == 1) {
        // i hate smoking!
    }
}

ヘッダー クラスで UIAlertViewDelegate を必ず宣言してください。

alertViewShouldEnableFirstOtherButton: メソッドが YES を返すことを確認してください。そうでない場合、ボタンが押されたときのロジックを組み込むことができません。

お役に立てれば!:)

于 2013-10-22T01:42:02.467 に答える