【问题标题】:Using UISwitch for changing the initial ViewController使用 UISwitch 更改初始 ViewController
【发布时间】:2016-07-15 15:24:07
【问题描述】:

我想在我的应用程序中添加一个选项来更改初始 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”的情节提要...

【问题讨论】:

    标签: ios swift xcode7 uiswitch


    【解决方案1】:

    第一个 VC 是 UIViewController 对象,第二个我认为 MenuViewController 是您的 viewcontroller 的名称而不是情节提要名称。 请尝试按照以下步骤操作:

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

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

    【讨论】:

    • 是的,我也尝试过使用故事板中的名称(“菜单”),但这也不起作用。 vc 是 UIViewController 对象是什么意思?我需要改变什么吗?
    • 故事板名称是什么?
    • 故事板名称是“菜单”
    • stackoverflow.com/questions/10428629/…,看看能不能帮到你。
    • Thx 但现在我收到一个错误,因为它找不到第一个初始 ViewController 的名称。现在只是同样的错误,但在启动应用程序时显示已经就绪。不知怎的,我没有写正确的名字,但我已经尝试过标题和 ID
    猜你喜欢
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多