4

私は iPhone を持っています。AlertViewが表示され、ユーザーが[ OK ] ボタンを押した後、そのビューを変更する必要がありますが、それは起こっていません。

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Thank you" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
  [alert show];
  [alert release];
  return;
  [self moveToView];

-(void)moveToView
{
    MainViewController*targetController=[[MainViewController alloc]init];
    [self.navigationController pushViewController:targetController animated:YES];
}
4

6 に答える 6

7

使ってくださいUIAlertViewDelegate

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    // Code to move to next view
    [self moveToView];
}

UIAlertViewDelegate:インターフェイス宣言に を実装します。また、UIAlertView を宣言している間、デリゲートを自分自身に設定します。

これがお役に立てば幸いです。

于 2012-07-10T10:28:59.410 に答える
6

それは簡単です。UIAlertViewDelegate を実装し、そこにコードを配置します。

- (void) alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
   MainViewController*targetController=[[MainViewController alloc]init];
   [self.navigationController pushViewController:targetController animated:YES];
   [targetController release];
}
于 2012-07-10T10:30:26.993 に答える
5

.h で、実装された UIAlertViewDelegate

 @interface ClassName : ParentClassName <UIAlertViewDelegate>

.m に、このメソッドを追加し、

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

      [self moveToView];

}
于 2012-07-10T10:31:55.577 に答える
4

アラート ビューのデリゲートを実装します。

yourClass.h ファイルで:

@interface yourClass : UIViewController<UIAlertViewDelegate>{

}
@end

yourClass.m ファイルで:

@implementation yourClass

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
    [self moveToView];
}
@end
于 2012-07-10T10:32:46.337 に答える
3

さて、UIAlertView のデリゲートとして self を設定しています。それは正しいことであり、あなたが取らなければならない最初のステップです。その後、このメソッドを実装してください:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    [self moveToView];
}

ここで switch ステートメントを作成して、どのボタンが押されたかを確認することもできます。ただし、 AlertView には [OK] ボタンしかないため、必要ありません。

お役に立てれば。

乾杯!

于 2012-07-10T10:29:42.140 に答える
2

コードをメソッドに実装 し、class .h ファイルに- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndexも追加します。UIAlertViewDelegate

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
        NSLog(@"The index: %d",buttonIndex);
        MainViewController*targetController=[[MainViewController alloc]init];
        [self.navigationController pushViewController:targetController animated:YES];
        [targetController release];
    }

お役に立てると思います。

于 2012-07-10T10:30:01.450 に答える