3

アラートビューにアクティビティインジケーターがあり、アプリがサーバーの応答を受け取るまで使用します。アプリはサーバーにデータを送信し、アラートビューには、サーバーが応答を送信したときにデータを閉じる方法が表示されます。これが私のアラートのコードです

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Canceling reservation" message:@"please wait" delegate:self cancelButtonTitle:nil otherButtonTitles: nil];
        [alert show];

        UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

        // Adjust the indicator to place at the bottom of the dialog window.
        indicator.center = CGPointMake(alert.bounds.size.width / 2, alert.bounds.size.height-50);
        [indicator startAnimating];
        [alert addSubview:indicator];
4

3 に答える 3

7
[alert dismissWithClickedButtonIndex:0 animated:YES];
于 2012-11-14T13:07:24.460 に答える
1

そのようなものには、標準のUIAlertViewの代わりにMBProgressHUD使用できます。

于 2012-11-14T13:12:26.377 に答える
0

dismissWithClickedButtonIndex:alertViewを閉じるためにdelegateメソッドを使用できます。

[alert dismissWithClickedButtonIndex:0 animated:YES];

alertで宣言されていることを確認してください@Interface

dismissWithClickedButtonIndex:animated:

オプションでアニメーションを使用して、レシーバーを閉じます。

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated Parameters

buttonIndex

The index of the button that was clicked just before invoking this method. The button indices start at 0.

アニメーション

YES if the receiver should be removed by animating it first; otherwise, NO if it should be removed immediately with no animation.

討論

iOS 4.0では、アプリケーションがバックグラウンドに移動するたびにこのメソッドを呼び出すことができます。アプリケーションがバックグラウンドに移動しても、アラートビューは自動的に閉じられません。この動作は、アプリケーションが終了したときに自動的にキャンセルされていた以前のバージョンのオペレーティングシステムとは異なります。アラートビューを閉じると、アプリケーションは変更を保存するか、操作を中止して、後でアプリケーションが終了した場合に必要なクリーンアップを実行することができます。可用性

Available in iOS 2.0 and later.

UIAlertView.hで宣言

UIAlertViewを参照してください

于 2012-11-14T13:10:35.790 に答える