如何以编程方式点击标签栏项目(未选中索引)

Posted

技术标签:

【中文标题】如何以编程方式点击标签栏项目(未选中索引)【英文标题】:How to programmatically tap Tabbar item (not selectedIndex) 【发布时间】:2016-05-03 16:17:34 【问题描述】:

这是我的应用程序的简历:

我有标签栏。当用户点击标签栏项目时 适当的视图控制器由“侧滑”呈现 动画(如在 iP 主屏幕中)。

代码在方法tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool 中。

我有警报。当用户点击按钮时,我想将他定向到特定选项卡。但是当我使用self.selectedIndex = # 时,会显示VC,但没有动画。有什么方法可以实现像点击项目一样的操作?谢谢

【问题讨论】:

你为什么不直接做tabBarController.selectedIndex = 1? 我愿意,但它不会触发提到的包含动画的方法。它显示了我需要的视图控制器,但没有动画 【参考方案1】:

以编程方式选择选项卡不会触发任何委托方法。任何控制都是如此。既然你明确地选择做某事,你就已经知道你做了。您不需要委托方法来告诉您。这是设计使然,这是一件好事。

有一个简单的解决方案。将委托方法中的任何动画代码放入其自己的方法中。然后从委托方法调用该方法。现在您也可以在调用self.selectedIndex = # 时调用该新方法。

【讨论】:

好吧,我只是需要更多的工作。但我基本上按照你说的做了。谢谢:)

以上是关于如何以编程方式点击标签栏项目(未选中索引)的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式更改标签栏项目使用的默认图标?

如何更改选中和未选中的标签栏图像颜色

如何以编程方式从标签栏控制器卸载视图控制器?

iOS Swift标签栏控制器以编程方式添加项目(新标签)

在 viewDidLoad() 中以编程方式更改标签栏项目标题

以编程方式选择标签栏项目并显示指示器图像