这是第一次进入App时在swift中使用UIPageViewController进行教程页面的首选方式

win*_*und 1 ios swift

我对IOS界面设计比较陌生,目前面临这个问题:

我有一个应用程序想要在导航控制器之前有一个教程(UIPageViewController),它将是应用程序将输入的故事板上的主控制器.

现在,我想要实现的是让app在第一次运行应用程序提前运行我的Tutorial Pages,然后进入NavigationController.如果不是第一次,用户将直接转到NavigationController.

经过一些研究,我发现至少有两种方法可以做到:

  1. 完全在代码上编程UIPageViewController,然后在Appdelegate中,使用if-else循环来执行此操作.
  2. 将UIPageViewController插入故事板并执行此操作.

到目前为止,这是我能找到的两种方式.然而,对于第二种,我找不到处理"完全跳过教程页面"的最佳方法.或者可能有更好的方法来做到这一点.我希望应用程序更加优化,并想知道为IOS专业人员的选择做什么的常用方法.

谢谢!

(ps如果问题是重复的或不清楚,请留下评论.再次感谢!如果可以显示github演示的一些链接,可能会有奖励.)

Dan*_* T. 5

我通常做这种事情的方式如下:

  1. 将教程内容放在单独的故事板中.
  2. 在主故事板的初始视图控制器中,检查NSUserDefaults中的专用变量,以查看用户之前是否曾运行过该应用程序.
  3. 如果没有,则以编程方式加载教程故事板的初始视图控制器并显示它.

这样,主故事板没有加载一堆只使用一次的视图控制器,并且为转换编写的代码很少.

- 编辑 -

下面是这个问题的答案的Swift版本:如何从类中以编程方式加载故事板?

let storyboard = UIStoryboard(name: "Tutorial", bundle: nil)
let viewController = storyboard.instantiateInitialViewController()
presentViewController(viewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)