1

次のように、2 つのアラート ビューを連続して表示しています。

-IBアクション

UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"my message"     delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert setDelegate:self];

[alert show];




}

- (void)didPresentAlertView:(UIAlertView *)alertView 
{

[alertView setTitle:@"My new title"];
[alertView setMessage:@"My new message"];

}

最初のアラート ビューから 2 番目のアラート ビューへの遷移は非常に速く、ユーザーは最初のメッセージを読む時間がありません。誰かがアラート間に遅延を追加する方法をアドバイスできますか. NSTimer を実装する必要があると思いますが、これを実装することでアドバイスを得ることができます。

4

2 に答える 2

13

dispatch_afterインライン化できる、を使用することをお勧めします。

double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
     // code to be executed on the main queue after delay 
});
于 2012-07-14T13:54:37.860 に答える
0

この簡単な方法を試してください:

- (void)alertView
{
    UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"Get Ready!" message:nil     delegate:nil cancelButtonTitle:nil otherButtonTitles:nil];
    [alertView show];
    [self performSelector:@selector(dismissStartAlert:) withObject:alertView afterDelay:5];
}

-(void)dismissStartAlert:(UIAlertView *)alertView
{
    [alertView dismissWithClickedButtonIndex:0 animated:YES];
    [alertView setTitle:@"My new title"];
    [alertView setMessage:@"My new message"];
    [alert show];
}
于 2014-03-15T11:25:42.787 に答える