在按下TabBar时隐藏视图-迅速

时间:2019-06-13 05:56:03

标签: ios swift uinavigationcontroller uitabbarcontroller tabbar

我有一个如下所示的视图控制器。

enter image description here

此视图附有tabBarController。 tabBarController有5个viewController,我必须从另一页上介绍tabBar的第5个viewController。所以我用下面的代码来展示viewController

public IEnumerable<Brand_Details> Get()
{
    using (ProductEntities obj = new ProductEntities())
    {
        this.Configuration.ProxyCreationEnabled = false;
        return obj.Brand_Details.ToList();
    }
}

但是执行代码后,它导致视图控制器如下图所示。 视图经过tabBar。有人帮我推送到tabBar视图。

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要从UIViewController设置选定的UITabBarController,这样应该可以。

self.tabBarController?.selectedViewController = self.tabBarController?.viewControllers![1]

其中tabBarController?.viewControllers返回嵌入在ViewControllers中的当前UITabBarController的数组。

您的代码应该是这样的。

@IBAction func onClickUserProfile(_ sender: Any) {
        let vc =  self.tabBarController?.viewControllers![1] as! ProfileVC // use your index
        vc.userId = Int(self.userId)
        self.tabBarController?.selectedViewController = vc
    }
  

注意:请勿使用已存在的UIViewController创建.instantiateViewController(withIdentifier:)的实例   数组tabBarController?.viewControllers中的一个,创建新   实例将被视为新实例,并给出您遇到的问题   在那里。