*Swift iOS*UIViewController推送视图中的容器视图



我有一个带有容器视图的UIViewController。容器视图有一个导航控制器,我可以用它在主视图中显示不同的场景。

结构:

MainVC
1SubVC (Container View) inside MainVC
2SubVC (ContainerView) inside MainVC

现在我的问题是:我可以从MainVC执行一个函数,以便1SubVC推送到2SubVC吗

类似->

class MainVC {
1SubVC().doThisPushFunc()
}

谢谢!

通过说"推";我假设您将使用UINavigationController并将视图控制器推送到导航堆栈上。使用UINavigationController类的主要原因是,当你推到一个新的视图控制器时,或者如果你需要一个顶部导航栏时,可以使用一些有用的功能,比如动画。

如果您只是想从显示1SubVC转到2SubVC,请替换容器视图。如果你想让MainVC通知1SubVC进行navigationController.pushViewController()调用,那么访问1SubVC((的一个实例,这样你就可以调用push方法例如MainVC 内部

let oneSubVC = 1SubVC()
oneSubVC.navigationController.pushViewController(ViewController(), true)

更新

适用于所有正在寻找类似解决方案的人

解决方案是通知中心

  1. ViewDidLoad 中SubView1中的侦听器für通知

  2. SubView1中的objc函数执行通知

  3. MainVC调用通知

最新更新