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)
}
答
首先,转到您的主要故事板并创建一个新的视图控制器。你还应该创建一个视图控制器类。这将是您的主屏幕故事板,并且您将把它设置为您的初始视图控制器。
您先前创建的类,你可以把这个:
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
我之前已经实现了这个..但它在OBJ-C ..还是想看看吗? –