我想在标签栏应用程序中交换视图,但我不能依赖视图控制器的索引,因为它们会发生变化。所以我不能使用下面的代码:
[self.tabBarController setSelectedIndex:4];
我希望能够按名称调用特定的视图控制器。请问我该怎么做?
谢谢
我想在标签栏应用程序中交换视图,但我不能依赖视图控制器的索引,因为它们会发生变化。所以我不能使用下面的代码:
[self.tabBarController setSelectedIndex:4];
我希望能够按名称调用特定的视图控制器。请问我该怎么做?
谢谢
您可以使用以下代码选择特定类的视图控制器:
NSUInteger index = [self.tabBarController.viewControllers indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
return [obj isKindOfClass:[ClassOfViewControllerYouAreLookingFor class]];
}];
if(index != NSNotFound) {
[self.tabBarController setSelectedIndex:index];
}
或者您可以使用以下代码简单地选择特定的 ViewController 实例:
NSUInteger index = [self.tabBarController.viewControllers indexOfObject:yourViewController];
if(index != NSNotFound) {
[self.tabBarController setSelectedIndex:index];
}