3

我希望用户在首次启动应用程序时有一个欢迎屏幕/教程。如果它不是第一次启动应用程序,那么它会像往常一样打开。

如果应用程序正常打开,我已经将欢迎屏幕绑定到按钮功能。我正在使用BWWalkThroughViewController. 这是我的按钮功能代码:

@IBAction func showWalkThroughButtonPressed() {

    // Get view controllers and build the walkthrough
    let stb = UIStoryboard(name: "MainStoryboard", bundle: nil)
    let walkthrough = stb.instantiateViewControllerWithIdentifier("walk0") as! BWWalkthroughViewController
    let page_one = stb.instantiateViewControllerWithIdentifier("walk1") as UIViewController
    let page_two = stb.instantiateViewControllerWithIdentifier("walk2") as UIViewController
    let page_three = stb.instantiateViewControllerWithIdentifier("walk3") as UIViewController
    let page_four = stb.instantiateViewControllerWithIdentifier("walk4") as UIViewController
    let page_five = stb.instantiateViewControllerWithIdentifier("walk5") as UIViewController

    // Attach the pages to the master
    walkthrough.delegate = self
    walkthrough.addViewController(page_one)
    walkthrough.addViewController(page_two)
    walkthrough.addViewController(page_three)
    walkthrough.addViewController(page_four)
    walkthrough.addViewController(page_five)

    self.presentViewController(walkthrough, animated: true, completion: nil)
}

func walkthroughCloseButtonPressed() {
    self.dismissViewControllerAnimated(true, completion: nil)
}

该代码位于 MyTableViewController.swift 文件中。

这是我无法弄清楚的:

我希望视图控制器在首次启动时显示。一旦用户完成教程,他们可以按下关闭按钮,它将关闭。我有代码来检查它是否是应用程序的首次启动。它位于 AppDelegate.swift 文件中。这是代码:

// First Launch Check

    let notFirstLaunch = NSUserDefaults.standardUserDefaults().boolForKey("FirstLaunch")
    if notFirstLaunch {
        print("First launch, setting NSUserDefault")
        NSUserDefaults.standardUserDefaults().setBool(true, forKey: "FirstLaunch")
    }
    else {
        print("Not first launch.")
    }
    return true

那么如何让欢迎屏幕在首次启动时启动?我是否必须在 AppDelegate 中创建一个函数来处理它,如果是这样,我必须做什么才能使教程成为第一次启动的初始视图控制器?

4

1 回答 1

4

我相信您需要做的已经在这里介绍了:使用 Storyboards 以编程方式设置初始视图控制器。如果这对您不起作用,请添加更多关于实施失败原因的注释。谷歌搜索“在启动 ios 时以编程方式更改 uiviewcontroller”将产生其他类似的链接。

于 2015-12-09T21:17:12.757 回答