0

アプリの 2 番目の画面から rを表示したいのですmodalViewControlleが、コントローラーを閉じると 1 番目の画面に移動するはずです。以下のコードは、iPhone 4、5、および iPod Touch では正常に動作しますが、iPad では動作しません。modalViewController目的は、2 番目の画面に戻るのではなく、最初の画面を表示する必要があることを却下することです。

        ShareEmail *shareEmail = [[ShareEmail alloc] initWithNibName:[NSString stringWithFormat:@"%@",xibShareEmail] bundle:nil];

        shareEmail.fromWer = @"ownPer";
        [self presentModalViewController:shareEmail animated:NO];
        [shareEmail release];

        [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];

共有メールクラスで

[self dismissModalViewControllerAnimated:YES];
4

2 に答える 2

0

興味深いことが起こっています。からView Controllerを提示し、その逆方向のナビゲーションを実行してselfいます。navigationControllerこの時点で、self先ほど話していた が消えます。

popViewControllerメソッドからメソッドを削除しますpresentViewController

また、^completionhandler メソッドを使用する必要があります。そこに、ナビゲーション コントローラーのpopコードを配置する必要があります。

-(void)present {
    ShareEmail *email = [[ShareEmail...
    //You'll need to get a weak reference to `self` in `email`
    email.modalDelegate = self; //you need to make a property in ShareEmail
    [self presentViewController:email animated:YES completion:nil];
    [email release];
}

-(void)dismiss {
    [self dismissViewControllerAnimated:YES completion:nil];
    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];
}

//in ShareEmail.m
[modalDelegate dismiss];
于 2013-08-12T17:13:18.177 に答える