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

If "A presents B" by presentViewController:animated:completion: then you can back to A by something like this:

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

为什么你没有添加UINavigationController“A”??它比你的逻辑更好,更容易。

只需按照我的代码。

- (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 回答