我正在尝试使用连接到 UIButton 的 IBAction 移回 Storyboard Main。
在应用程序委托(delegate)中设置如下:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
if doneOnce == false {
doneOnce = true
window?.rootViewController = UIStoryboard.init(name: "Onboarding", bundle: nil).instantiateInitialViewController()
} else {
window?.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateInitialViewController()
}
return true
}
当我处于 Storyboard“Onboarding”时,我尝试返回 Storyboard“Main”:
这些是我尝试过的 3 个代码片段。
@IBAction func tutorialDone(sender: AnyObject) {
let appDelegateTemp = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegateTemp.window?.rootViewController = UIStoryboard.init(name: "Main", bundle: nil).instantiateInitialViewController()
//let storyboard = UIStoryboard(name: "Main", bundle: nil)
//let vc = storyboard.instantiateInitialViewController()
//showViewController(vc! as UIViewController, sender: self)
//let storyboard = UIStoryboard(name: "Main", bundle: nil)
//let vc = storyboard.instantiateViewControllerWithIdentifier("ViewController") as UIViewController
//presentViewController(vc, animated: true, completion: nil)
}
但是当我按下触发tutorialDone的UIButton时,我收到此错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController tutorialDone:]: unrecognized selector sent to instance
提前致谢!
最佳答案
您可以使用标识符从 Storyboard启动 View Controller :
let storyboard = UIStoryboard(name: "myStoryboardName", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("nextViewController") as UIViewController
presentViewController(vc, animated: true, completion: nil)
不要忘记为你的 nextViewController 提供 ID
关于ios - 如何使用 IBAction 从一个 Storyboard移动到另一个 Storyboard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39193141/