ary*_*axt 10 iphone uitabbarcontroller uiviewcontroller uinavigationcontroller
我有一个uitabbarcontroller,它包含多个选项卡和viewControllers.我试图循环通过视图控制器找到正确的一个并调用方法.但我得到的视图控制器的类型,每次我通过循环是一个UINavigationController.那么我怎样才能简单地访问tabBar中的视图控制器?
for (UIViewController *v in self.tabBar.viewControllers)
{
if ([v isKindOfClass:[MyViewController class]])
{
MyViewController *myViewController = v;
[v doSomething];
}
}
Run Code Online (Sandbox Code Playgroud)
Cam*_*ies 20
您很可能在选项卡的根目录中有UINavigationControllers,因此您要做的是访问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];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18176 次 |
| 最近记录: |