我在代码中有ViewControllers A和B.
按下按钮时出现B。然后在B中我添加了一个导航栏,其中有一个名为“返回上一屏幕”的导航项。然后我尝试做这个逻辑:当按下导航项时,执行以下代码返回到B的presentsViewController,在这种情况下我认为它是A.
[self presentViewController:self.presentingViewController animated:YES completion:nil];
但不幸的是A没有出现。我在lldb中使用“print [self.presentingViewController class]”命令,我可以看到该类是A.我做错了什么?
答案 0 :(得分:1)
如果“A呈现B”由presentViewController:animated:completion:那么你可以通过这样的东西回到A:
- (void) back: (id)sender
{
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}
答案 1 :(得分: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;
}