在 indexpath.item 以编程方式呈现 UIViewController(嵌入在 UITabBarController 中)
Posted
技术标签:
【中文标题】在 indexpath.item 以编程方式呈现 UIViewController(嵌入在 UITabBarController 中)【英文标题】:Present programmatically a UIViewController (embed in an UITabBarController) at indexpath.item 【发布时间】:2019-05-17 17:19:27 【问题描述】:我需要以编程方式呈现一个特定的 ViewController,该 ViewController 包含取决于其行/项目(来自 UICollectionView)的信息。 但是这个 ViewController 嵌入在 TabBarController 中,我看不到如何获取数组中包含的信息。
我习惯于像这样直接在 UITableViewRowAction 中呈现它:
let MyEditingController = MySpecificController()
MyEditingController.delegate = self
MyEditingController.Object = arrayOfObjects[indexPath.item]
let navController = CustomNavigationController(rootViewController: MyEditingController)
present(navController, animated: true, completion: nil)
这将正确呈现 MySpecificController,但是当它需要嵌入 UITabBarController 时如何呈现此控制器:MySpecificController 应该是此 TabBar 显示的 4 个屏幕的第一项。
有什么想法/建议吗?
感谢您的帮助!
【问题讨论】:
我不太明白你在问什么。您是否尝试以编程方式将新控制器添加到 TabBar(在其中添加新图标),或者您正在寻找 UINavigationController(屏幕顶部的后退箭头)?如果你能画出一些更好的东西。 一方面,我有一个 collectionView :它的每个项目/行都有一个“更多”按钮,我可以处理它来呈现信息。另一方面:一个有 4 个屏幕的 tapBar,第一个屏幕显示我想要显示的信息。 我通常可以使用 navcontroller 但从 UIviewcontroller 到其他 UIViewController,而不是从 UIViewController 到 UITabBarController @AndreaGottardo,可能是这样的:imgur.com/a/lnVD6RM @Creanomy 您可以提供UITabBarController
。据我了解,您需要提供来自UITabBarController
的特定UIViewController
,对吧?
【参考方案1】:
忘记我的问题.... 我犯了一个“菜鸟”错误,答案就在我的眼皮底下:我重构了构建 TabBar 的方式,因为我可以接触到我的每个 VC,当然,我“只是”改变了我的presentedViewController .... 现在,它完美地工作 该死!对那些试图帮助我的人感到抱歉。
【讨论】:
以上是关于在 indexpath.item 以编程方式呈现 UIViewController(嵌入在 UITabBarController 中)的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式在 UITabBarController 和 UINavigationController 中呈现视图
关闭以编程方式呈现在嵌套在 NavigationController 中的 ViewController 中的 ViewController 崩溃,但并非每次