如何让用户选择最初的ViewController

时间:2017-05-15 08:56:31

标签: ios swift

我一直在寻找,但我似乎无法弄清楚最好的办法是什么。

我想允许用户在完成入职后选择一个初始的ViewController。

理想情况下 - 这只是带有选项的UINavigationController中的UITableViewController,用户可以检查一个并返回。

澄清:设置将是“在启动时选择标签”segue到3个选项的列表“。我的VC是TabBarController中的标签,那些是我想让用户选择的标签。

我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:2)

如前所述,您应该使用标签栏控制器和用户默认值。

要选择在启动时打开哪个标签,请使用用户默认值:

//Get the selection however you wish
let defaults = UserDefaults.standard
defaults.set(selectedIndex, forKey: "initialVCIndex")

然后在启动时

if let index = defaults.integer(forKey: "initialVCIndex"){
  self.tabBarController.selectedIndex = index
}else{
  self.tabBarController.selectedIndex = 0
}

答案 1 :(得分:1)

您可以尝试使用它来选择UITabBarController中的特定选项卡。

let index = 1//index of view controller you want to switch
self.tabBarController.selectedIndex = index;

希望它有所帮助!

答案 2 :(得分:-1)

我认为实现这一目标的一个好方法是在UITableViewController和您希望允许用户切换到的所有不同View控制器之间设置segue。

然后,作为表行数据模型的一部分,存储segue名称。

当用户选择表中的行时,检索关联的segue名称,然后执行该segue,然后应该向用户显示相应的视图控制器。

如果您使用UINavigationController执行此操作,并且已将设置推送到UIViewControllers,则用户应该能够使用导航控制器返回,并切换视图等。

执行segue的代码非常简单:

self.performSegue(withIdentifier: "[segue name]", sender: self)

我认为这种方法可以让你获得你描述的行为。