LaunchScreen加载后显示ViewController

问题描述:

我正在尝试为我的应用程序创建一个演练(介绍)。我正在使用BWWalkthrough来做到这一点。如果想在点击一个按钮后打开这个视图控制器,它会起作用(正如你可以在下面的代码中看到的那样)。但我不想这样做。我想在启动屏幕加载后打开此视图控制器。LaunchScreen加载后显示ViewController

当我点击主视图的“初始视图控制器”,并在viewDidLoad方法中添加了下面的代码时,我只能看到母版页,但看不到视图控制器(page_one,page_two ...)页。可能我必须在AppDelegate中编写一些代码,但我不知道它怎么样

我该如何解决这个问题?

@IBAction func testButton(_ sender: Any) { 

    let goStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    let walkthrough = goStoryboard.instantiateViewController(withIdentifier: "master") as! BWWalkthroughViewController 
    let page_one = goStoryboard.instantiateViewController(withIdentifier: "page1") as UIViewController 
    let page_two = goStoryboard.instantiateViewController(withIdentifier: "page2")as UIViewController 
    let page_three = goStoryboard.instantiateViewController(withIdentifier: "page3")as UIViewController 

    **// Attach the pages to the master** 
    walkthrough.delegate = self 
    walkthrough.add(viewController:page_one) 
    walkthrough.add(viewController:page_two) 
    walkthrough.add(viewController:page_three) 

    self.present(walkthrough, animated: true, completion: nil) 

} 
+0

我之前已经实现了这个..但它在OBJ-C ..还是想看看吗? –

首先,转到您的主要故事板并创建一个新的视图控制器。你还应该创建一个视图控制器类。这将是您的主屏幕故事板,并且您将把它设置为您的初始视图控制器。

您先前创建的类,你可以把这个:

class HomeViewController: UIViewController { 
    override viewDidLoad(){ 
     super.viewDidLoad() 
     let goStoryboard = UIStoryboard(name: "Main", bundle: nil) 
     let walkthrough = goStoryboard.instantiateViewController(withIdentifier: "master") as! BWWalkthroughViewController 
     let page_one = goStoryboard.instantiateViewController(withIdentifier: "page1") as UIViewController 
     let page_two = goStoryboard.instantiateViewController(withIdentifier: "page2")as UIViewController 
     let page_three = goStoryboard.instantiateViewController(withIdentifier: "page3")as UIViewController 

     // Attach the pages to the master 
     walkthrough.delegate = self 
     walkthrough.add(viewController:page_one) 
     walkthrough.add(viewController:page_two) 
     walkthrough.add(viewController:page_three) 

     self.present(walkthrough, animated: true, completion: nil) 
    } 
} 
+0

作为初始视图控制器的视图控制器无法在其“viewDidLoad”方法中显示其他视图控制器。 – nathan