快速检查单击了哪个标签栏项目
Posted
技术标签:
【中文标题】快速检查单击了哪个标签栏项目【英文标题】:swift check which tab bar item was clicked 【发布时间】:2016-05-10 23:14:17 【问题描述】:我正在使用标签栏控制器,我想知道是否有办法检查正在单击哪个标签?
如果用户单击“帐户”选项卡但未登录,我想重定向到全屏模式登录屏幕而不是帐户 VC。
【问题讨论】:
【参考方案1】:您可以在您的自定义 UITabBarController 或其他地方执行此操作,并覆盖“didSelectItem”函数。
import UIKit
class TabbarViewController: UITabBarController
override func viewDidLoad()
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem)
print("Selected Index :\(self.selectedIndex)");
【讨论】:
如何取消更改其他视图控制器?【参考方案2】:在您概述的场景中,我会检查当前用户是否已登录,如果未登录到您的应用程序的相应屏幕。
【讨论】:
这就是我想做的。但是如何检查帐户选项卡是否被点击,以便我可以检查我应该触发什么 segue? o,是的,使用 Sausage 评论的委托方法【参考方案3】:UITabBarDelegate 的 didSelectItem
【讨论】:
【参考方案4】:其他人提供的选项很好,但我想让你知道另一种方式。在 viewWillAppear、viewDidAppear 或 viewDidLoad 函数中,你可以调用你需要的东西去 segue 到一个登录 ViewController
【讨论】:
以上是关于快速检查单击了哪个标签栏项目的主要内容,如果未能解决你的问题,请参考以下文章
使用目标 c 后,UiViewController 不会从标签栏项目中快速加载