在swift ios中创建动态页面序列

在swift ios中创建动态页面序列,ios,swift,uiview,uiviewcontroller,uinavigationcontroller,Ios,Swift,Uiview,Uiviewcontroller,Uinavigationcontroller,我正在使用swift编写一个iOS应用程序。该应用程序是一个巡演,引导用户完成一系列步骤 每个步骤都具有以下通用属性: class Step { var name : String; var description : String; } 步骤将以相同的方式显示,顶部显示名称,底部显示“下一步”按钮,该按钮将进入下一步。与往常一样,顶部将提供标准的UI后退按钮 但是,我还想让某些步骤执行某些功能,例如: 播放视频 出示地图 拍照 我想将这些步骤类型整合到一个可重用的视图或控制器

我正在使用swift编写一个iOS应用程序。该应用程序是一个巡演,引导用户完成一系列步骤

每个步骤都具有以下通用属性:

class Step
{
   var name : String;
   var description : String;
}
步骤将以相同的方式显示,顶部显示名称,底部显示“下一步”按钮,该按钮将进入下一步。与往常一样,顶部将提供标准的UI后退按钮

但是,我还想让某些步骤执行某些功能,例如:

  • 播放视频
  • 出示地图
  • 拍照
我想将这些步骤类型整合到一个可重用的视图或控制器中

我的问题是,从控制器和视图的角度来看,什么是构建此结构的最佳方式

我目前正在使用带有单个视图的StepViewController:UIViewController。 单击“下一步”时,它会创建StepViewController的新实例,将其传递给下一步对象,并使用InstanceViewController标识符将其添加到堆栈中

哪种方法更好

  • 为每个步骤类型创建StepViewController的新超级类ViewController,例如VideoStepViewController:StepViewController
  • 为每个步骤类型创建一个新视图,允许主StepViewController将特定视图(例如VideoView)动态加载到主控制器中

  • UIPageViewController将是一个好选项。UIPageViewController将是一个好选项。