我有一个承载单个UIViewController
的容器UINavigationController
。容器视图控制器具有一个按钮,该按钮可通过调用present(newViewController, animated: true, completion: nil)
打开新的视图控制器。
newViewController
有自己的UINavigationController
,还包含一个按钮。该按钮可以present
另一个本身具有UINavigationController
和另一个按钮的视图控制器,依此类推。
我想让该模式进行尽可能多的迭代,并保存所有迭代的状态。那可能吗?要关闭当前的视图控制器,我会调用_ = navigationController?.popViewController(animated: true)
,但也会删除以前的视图控制器中的所有数据。
您问了两个问题
1)希望使该模式进行尽可能多的迭代,并保存所有迭代的状态。
答案:您不能在已经显示的视图控制器上连续显示视图。首先,您需要关闭先前显示的视图。
2)关闭我调用的当前视图控制器
_ = navigationController?.popViewController(animated: true)
但是也删除了先前视图控制器中的所有数据。
答案如果您提供任何视图控制器,则不要使用popviewcontroller,而要使用dismisViewController。