0

コードに ViewControllers A と B があります。

ボタンを押すとAがBをプレゼント。次に、BI で、「前の画面に戻る」というナビゲーション項目を持つナビゲーション バーを追加します。次に、このロジックを実行しようとします。ナビゲーション アイテムを押すと、次のコードを実行して B の presentingViewController に戻ります。この場合は A だと思います。

[self presentViewController:self.presentingViewController animated:YES completion:nil];

残念ながらAさんは登場しません。lldb で「print [self.presentingViewController class]」コマンドを使用すると、クラスが A であることがわかります。何が間違っていますか?

4

2 に答える 2

1

presentViewController:animated:completion: によって「A が B を提示する」場合、次のような方法で A に戻ることができます。

- (void) back: (id)sender
{
  [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}
于 2013-06-22T06:14:22.690 に答える
0

なぜ「A」UINavigationControllerに追加しないのですか?? それはあなたのロジックよりも優れていて簡単です。

私のコードに従ってください。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.

    self.AViewController = [[AViewController alloc] init];
    self.navCon = [[UINavigationController alloc] initWithRootViewController:self.AViewController];
    self.window.rootViewController = self.navCon;

    [self.window makeKeyAndVisible];
    return YES;
}
于 2013-06-22T05:32:20.117 に答える