gpt4 book ai didi

ios - 切换屏幕/ View Controller

转载 作者:行者123 更新时间:2023-11-28 08:07:00 25 4
gpt4 key购买 nike

我是一名 Android 开发人员,对 iOS 开发还是个新手,我想有一个非常基本的问题。

我读到现在最好的做法是为多个 View Controller 使用多个 Storyboard并以编程方式在它们之间导航,例如:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier :"viewController") as! UIViewController
self.present(viewController, animated: true, completion: nil)

假设我有两个 Storyboard。在第一个中,我只有一个 ViewController,在第二个中,我有两个 ViewController。我使用第一个 Storyboard及其 ViewController 启动应用程序。在单击按钮之类的操作之后,我想使用上面的代码展示下一个 Storyboard及其第一个 ViewController。 Next ViewController 毫无问题地出现了,但是第一个 Storyboard ViewController 发生了什么?它是否仍存在于堆栈中或已终止或类似情况?

我问这个是因为如果我打电话

dismiss(animated: true, completion: nil)

在第二个 Storyboard的第一个 ViewController 中,ViewController 消失了,旧的又出现了。此外,如果我在第二个 Storyboard 中的第一个 ViewController 中显示第二个 Storyboard 中的第二个 ViewController 时调用此方法,则第一个 ViewController 也会消失并显示第一个 Storyboard 中的 ViewController。

在 android 中,如果我想开始下一个屏幕/事件,我会这样做:

startActivity(new Intent(CurrentActivity.this, NextActivity.class));
finish(); //to drop the current activity

当我在 NextActivity 中并单击后退按钮时,整个应用程序将最小化。

我只是想确保不要在我的应用程序中建立大量的 ViewController。

最佳答案

所以我假设你想去 VC1 -> VC2 -> VC3。当您展示 VC3 时,无需关闭 VC2。这将创建一个导航堆栈。当您关闭 VC3 时,VC2 将仍然存在,与关闭 VC2 一样,VC1 将在那里。如果您希望 VC1 显示 VC3,当您从 VC1 关闭 VC2 时,您需要在关闭调用的完成 block 中显示 VC3。

关于ios - 切换屏幕/ View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44810807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com