选项卡栏 select 委托方法在 ios、swift 3 中提供了先前 selected 的选项卡索引
tab bar did select delegate methods give the previously selected tab index in ios, swift 3
我正在尝试实时检测用户 select 编辑了哪个选项卡。例如,如果用户 selecte 0 th
索引,同时我想让该用户 select 编辑了 zeroth
索引选项卡。所以为此,我使用了 tabbarcontroller
委托方法,如下所示。
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
print("the selected index is : \(selectedIndex)")
}
但这显示了以前的视图 controller.as 一个例子认为我在 second tab
然后我 select first tab
然后这将索引打印为 2
.那么我怎样才能得到正确的 selected 选项卡。
希望您对此有所帮助。
您可以通过从 UITabBar
中的项目数组中获取特定项目的位置来获取所选 UITabBarItem
的索引。试试这个
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
print("the selected index is : \(tabBar.items.index(of: item))")
}
Swift 3.1:
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
guard let items = tabBar.items else { return }
print("the selected index is : \(String(describing: items.index(of: item)))")
}
我正在尝试实时检测用户 select 编辑了哪个选项卡。例如,如果用户 selecte 0 th
索引,同时我想让该用户 select 编辑了 zeroth
索引选项卡。所以为此,我使用了 tabbarcontroller
委托方法,如下所示。
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
print("the selected index is : \(selectedIndex)")
}
但这显示了以前的视图 controller.as 一个例子认为我在 second tab
然后我 select first tab
然后这将索引打印为 2
.那么我怎样才能得到正确的 selected 选项卡。
希望您对此有所帮助。
您可以通过从 UITabBar
中的项目数组中获取特定项目的位置来获取所选 UITabBarItem
的索引。试试这个
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
print("the selected index is : \(tabBar.items.index(of: item))")
}
Swift 3.1:
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
guard let items = tabBar.items else { return }
print("the selected index is : \(String(describing: items.index(of: item)))")
}