0

我正在构建一个基于导航的应用程序(导航控制器中嵌入的视图很少)。我想知道是否可以从前一个视图(视图 A)的视图 B 内部获取 title 属性,然后将其 NSLog 输出!

谢谢

卢卡

4

4 回答 4

0

是的你可以。

查看 UINavigationController 的viewControllers属性。

这将返回用户当前正在查看的视图控制器的数组。因此,查看最后一个视图控制器(或“n-2,其中 n 是数组中项目的数量”,根据我为您链接的 Apple 文档),您可以从该视图控制器的导航栏中获取您的标题。

于 2012-04-19T06:49:19.307 回答
0
NSMutableArray *activeControllerArray = [self.navigationController.viewControllers mutableCopy];

ControllerA myController;
For(int i = 0, i <[activeControllerArray  count], i++) {
    if([[activeViewController objectAtIndex:i] isKindOfClass:[ControllerA class]) {
        myController = [activeViewController objectAtIndex:i];
        NSLog(@"%@",myController.title);
     }
}
于 2012-04-19T06:50:20.230 回答
0

ViewControllerA *viewA = (ViewControllerA *)[self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-2];

NSLog(@"%@",viewA.title);

于 2012-04-19T07:04:23.220 回答
0

A 类 .m 文件

{
   NSString *titleA = @"Khalid"; 
   ClassB *bObj = [[ClassB alloc] init];
   bObj.title = titleA;
   [self.navigationController pushViewController:bObj animated:YES];
}
于 2012-04-19T07:05:06.530 回答