微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

objective-c – iOS相当于Android finish()

我对iOS开发比较陌生.我首先开发了 Android应用程序,现在将其移植到iOS.我无法弄清楚的一件事是如何使ViewController“消失”.我已经习惯了Android中的finish()方法.使用该方法,当前活动自行结束,并且向用户呈现在打开当前屏幕之前打开的先前屏幕.

我想要完成的是在保存记录后让我的“创建”屏幕消失.在Android世界中,我只会调用finish()方法,这将被处理.什么是iOS等价物?

我在我的iOS应用程序中尝试了以下代码,希望视图能够被动画化.

[self.navigationController popToRootViewControllerAnimated:YES];

编辑:
该观点如下.

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];

原文地址:https://www.jb51.cc/c/117100.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐