首页 > 解决方案 > UIStoryboard 控制器类作为基类

问题描述

我有一个UIViewController名为的基础BaseController,它是通过segue我的storyboard. 现在我有这个 baseController 的两个子类 -Subclass1Subclass2. 我想在触发时调用SubBaseController1SubBaseController2取决于目标segue。当被调用时,我如何在2中实例SubBaseController1target1SubBaseController2targetsegue

标签: iosswiftxcodeuiviewcontrolleruistoryboard

解决方案


你可以通过两种方式做到这一点:

  1. 使用两种不同的segue。为两者添加标识符,类似于此图片转场 ID,然后调用此代码以打开正确的屏幕
performSegue(withIdentifier: "segue1", sender: nil)
  1. 不要创建任何 segue,而是添加storyboardId到视图控制器,类似于: 添加storyboardId 并使用此代码来初始化和显示视图控制器:
let storyboard = UIStoryboard(name: "Main", bundle: Bundle.main)
let viewController1 = storyboard.instantiateViewController(identifier: "viewController1")
present(viewController1, animated: true)

我会推荐第二种方式,因为它可以让您更好地控制显示过程。


推荐阅读