我有一个uitabbarcontroller,其中包含多个选项卡和viewController。 我试图循环浏览 View Controller 以找到正确的 Controller 并调用一种方法。 但是我每次循环时得到的 View Controller 的类型是 UINavigationController。那么我怎样才能简单地访问我的 tabBar 中的 View Controller 呢?
for (UIViewController *v in self.tabBar.viewControllers)
{
if ([v isKindOfClass:[MyViewController class]])
{
MyViewController *myViewController = v;
[v doSomething];
}
}
最佳答案
您很可能在选项卡的根目录中有 UINavigationController,因此您需要做的是访问 UINavigationController 显示的 ViewController。
尝试将代码更改为以下内容:
for (UIViewController *v in self.tabBar.viewControllers) {
UIViewController *vc = v;
if ([v isKindOfClass:[UINavigationController class]]) {
vc = [v visibleViewController];
}
if ([vc isKindOfClass:[MyViewController class]]) {
MyViewController *myViewController = vc;
[vc doSomething];
}
}
关于iphone - UITabBarController - 如何访问 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306704/