使用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
的名字不是故事板的名字。 请尝试遵循以下步骤:
- 最初,您的应用程序流程必须从初始位置开始。
- 现在,如果您想在下次启动应用程序时更改初始VC,只需创建一个标志并将其值存储在
NSUserDefaults
中。 - in
didFinishLaunchingWithOptions
,检查NSUserDefaults
中的标志,并相应地设置您的初始VC。
步骤3的代码显示在我之前分享的链接中。
是的我也尝试了在故事板中的名字(“Menu”),但这不起作用。 vc是什么意思是UIViewController对象?我必须改变那里吗? – Thobbit
什么是故事板名称? – Ujjwal
故事板名称是“菜单” – Thobbit