我对iOS开发比较陌生.我首先开发了
Android应用程序,现在将其移植到iOS.我无法弄清楚的一件事是如何使ViewController“消失”.我已经习惯了Android中的finish()方法.使用该方法,当前活动自行结束,并且向用户呈现在打开当前屏幕之前打开的先前屏幕.
我想要完成的是在保存记录后让我的“创建”屏幕消失.在Android世界中,我只会调用finish()方法,这将被处理.什么是iOS等价物?
我在我的iOS应用程序中尝试了以下代码,希望视图能够被动画化.
[self.navigationController popToRootViewControllerAnimated:YES];
编辑:@H_403_9@该观点如下.
SettingsViewController *vc = [[SettingsViewController alloc] initWithNibName:@"SettingsView"]; controllers = [NSArray arrayWithObject:vc]; self.sideMenu.navigationController.viewControllers = controllers; [self.sideMenu setMenuState:MFSideMenuStateClosed];
控制器定义如下:
NSArray *controllers = nil;
解决方法
你是如何呈现这个视图控制器的?
你使用presentViewController:动画:完成:?如果是这样,你想要这样的东西:
[self dismissViewControllerAnimated: YES];
如果你使用pushViewController:animated:,你不是在谈论模态视图.您正在谈论您推入堆栈的普通ViewController.要“撤消”这个,你需要弹出视图控制器:
[self.navigationController popViewControllerAnimated: YES];