我一直在寻找,但我似乎无法弄清楚最好的办法是什么。
我想允许用户在完成入职后选择一个初始的ViewController。
理想情况下 - 这只是带有选项的UINavigationController中的UITableViewController,用户可以检查一个并返回。
澄清:设置将是“在启动时选择标签”segue到3个选项的列表“。我的VC是TabBarController中的标签,那些是我想让用户选择的标签。
我怎样才能做到这一点?
答案 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)
我认为这种方法可以让你获得你描述的行为。