我有一个如下所示的视图控制器。
此视图附有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视图。
答案 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
中的一个,创建新 实例将被视为新实例,并给出您遇到的问题 在那里。