【问题标题】:Returning to a view in a Tab Bar Controller Programatically以编程方式返回选项卡栏控制器中的视图
【发布时间】:2016-07-13 16:19:12
【问题描述】:

我有一个 TabBarController,里面有 5 个 ViewController,在其中一个 ViewController 上,我有一组按钮,可以在 TabBarController 之外加载不同的视图控制器。这些是通过 Modal Segue 加载的,但是我遇到的问题是,当我尝试返回它加载的选项卡栏中的视图但没有选项卡栏本身时,我拥有的代码是:

class GreetingsVC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func goBack(sender: AnyObject) {

        let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
        let nextViewController = storyBoard.instantiateViewControllerWithIdentifier("anonScreen") as! AnonVC
        self.presentViewController(nextViewController, animated:true, completion:nil)
    }

    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

}

我怎样才能让它在按下后退按钮时从标签栏控制器呈现视图控制器?

【问题讨论】:

  • 尝试使用self.tabBarController.presentViewController(nextViewController, animated:true, completion:nil) 而不是self.presentViewController(nextViewController, animated:true, completion:nil)
  • 不,仍然会加载底部没有标签栏的视图:(

标签: ios swift tabbar


【解决方案1】:

据我了解,在标签栏控制器中,您已经使用 presentViewController 呈现了 GreetingsVC,并且您想返回上一个视图(其中一个标签栏视图控制器)

你需要使用dismissViewControllerAnimated而不是presentViewController

@IBAction func goBack(sender: AnyObject) {

    dismissViewControllerAnimated(true, completion: nil)
}

【讨论】:

  • 刚刚尝试过,但仍然没有在关闭时显示标签栏:/ 感谢您的建议!欣赏它
  • 从按钮到 GreetingsVC 你用什么?模态还是显示?我假设您正在使用故事板转场
  • GreetingsVC 是通过在 modal 上使用故事板 segue 访问的
  • 我更新了我的代码,只保留goBack 函数中的那一行。如果还有问题,请告诉我
  • 这就是我之前尝试过的,但没有成功。还是谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多