将 presentViewController 与 UITabbarController 一起使用时如何传递数据
Posted
技术标签:
【中文标题】将 presentViewController 与 UITabbarController 一起使用时如何传递数据【英文标题】:How to passing data when using presentViewController with UITabbarController 【发布时间】:2016-07-24 19:30:33 【问题描述】:我是ios的新手。我尝试使用 UITabbarController,但当我尝试将数据从 ViewController(此 ViewController 不是 Tabbar 中的项目)传递到另一个 ViewController 时,我遇到了一些问题,该 ViewController 是 Tabbar 中的项目。在这种情况下,当我单击按钮登录时,我希望出现“欢迎光临购物”,登录表单中的用户名将传递到“欢迎光临购物”的标签中。
我使用下面的代码使“欢迎购物”控制器出现:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UITabBarController *tabbarController= [storyboard instantiateViewControllerWithIdentifier: @"tabbarID"];
[self presentViewController: tabbarController animated: YES completion: nil];
那么我有什么想法可以将用户名(在 LoginController 中)传递给标签(WelcomeToShopController)吗?
【问题讨论】:
【参考方案1】:我研究后解决了我的问题:)。因为我使用了 tabbar 和 navigationController,所以我应该实例化 tabbar -> NavigationController -> ViewController。就我而言,下面的这段代码可以完美运行。
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UITabBarController *tabbarController= [storyboard instantiateViewControllerWithIdentifier: @"tabbarID"];
UINavigationController *nav = (UINavigationController *)[tabbarController.viewControllers firstObject];
HistoryOrderingController *historyOderingVC = (HistoryOrderingController *)[[nav viewControllers] firstObject];
historyOderingVC.user = self.user;
[self presentViewController: tabbarController animated: YES completion: nil];
【讨论】:
以上是关于将 presentViewController 与 UITabbarController 一起使用时如何传递数据的主要内容,如果未能解决你的问题,请参考以下文章
PresentViewController 与 ModalPresentationStyle “UIModalPresentationFormSheet” IOS 8
带有自定义过渡的 presentViewController