使用UISwitch改变初始ViewController

问题描述:

我想在我的应用程序中添加一个选项来更改初始ViewController,以便用户可以跳过登录视图。使用UISwitch改变初始ViewController

class SettingsViewController: UIViewController { 

var vc: UIViewController? 

@IBOutlet var changeInitialView: UISwitch? 

@IBAction func changeButton(sender: UIButton) { 
    if changeInitialView!.on { 
     print("Switch is off") 
     vc = UIStoryboard(name: "MenuViewController", bundle: nil).instantiateViewControllerWithIdentifier("MenuViewController") 
     changeInitialView!.setOn(false, animated:true) 
    } else { 
     print("Switch is on") 
     changeInitialView!.setOn(true, animated:true) 
    } 
} 

,如果我尝试这样,它总是显示我这个失败消息: 找不到捆绑名为“MenuViewController”故事板...

首先VC是一个UIViewController对象,第二我认为MenuViewController是你的viewcontroller的名字不是故事板的名字。 请尝试遵循以下步骤:

  1. 最初,您的应用程序流程必须从初始位置开始。
  2. 现在,如果您想在下次启动应用程序时更改初始VC,只需创建一个标志并将其值存储在NSUserDefaults中。
  3. in didFinishLaunchingWithOptions,检查NSUserDefaults中的标志,并相应地设置您的初始VC。

步骤3的代码显示在我之前分享的链接中。

+0

是的我也尝试了在故事板中的名字(“Menu”),但这不起作用。 vc是什么意思是UIViewController对象?我必须改变那里吗? – Thobbit

+0

什么是故事板名称? – Ujjwal

+0

故事板名称是“菜单” – Thobbit