如何更改 tabbarcontroller 的选定索引?
How to change selected index of tabbarcontroller?
我在 UIViewController
中有一个 UICollectionView
和一个 UIContainerView
。容器视图的嵌入视图是UITabBarController
。我需要根据 UICollectionView
中的选择更改 tabBarController 中的项目。如何做到这一点?
第 1 步: 声明一个 YourTabBarController
类型的变量
第 2 步:转到故事板并单击连接容器视图和选项卡栏控制器的 segue。给它标识符为“tabBar
”或任何你想要的。我在下面的示例中使用了 tabBar
作为标识符。然后你需要调用 prepareForSegue
方法,你可以从这里得到你的标签栏控制器。然后我们将值分配给我们的 yourTabController
Step3: 在您的 didSelectItemAt
方法中,现在您可以更改选定的索引值。
就是这样!
// step1
private var yourTabController : YourTabBarController!
//step2
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let tbc = segue.destination as? YourTabBarController, segue.identifier == "tabBar" {
self.yourTabController = tbc
}
//step3
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.yourTabController.selectedIndex = 1 // change it accordingly
}
我在 UIViewController
中有一个 UICollectionView
和一个 UIContainerView
。容器视图的嵌入视图是UITabBarController
。我需要根据 UICollectionView
中的选择更改 tabBarController 中的项目。如何做到这一点?
第 1 步: 声明一个 YourTabBarController
第 2 步:转到故事板并单击连接容器视图和选项卡栏控制器的 segue。给它标识符为“tabBar
”或任何你想要的。我在下面的示例中使用了 tabBar
作为标识符。然后你需要调用 prepareForSegue
方法,你可以从这里得到你的标签栏控制器。然后我们将值分配给我们的 yourTabController
Step3: 在您的 didSelectItemAt
方法中,现在您可以更改选定的索引值。
就是这样!
// step1
private var yourTabController : YourTabBarController!
//step2
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let tbc = segue.destination as? YourTabBarController, segue.identifier == "tabBar" {
self.yourTabController = tbc
}
//step3
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
self.yourTabController.selectedIndex = 1 // change it accordingly
}