将信息推送到TabBar而不是UINavigationController

时间:2013-01-31 02:39:10

标签: ios objective-c uinavigationcontroller uitabbarcontroller

当我通过NavigationController推送它时,我能够下载文件并查看ViewController的进度。但是我希望在另一个tabBar上显示下载,因为我的模型基于此。

问题:当我选择查看有问题的TabBar时,我什么都没得到。

我试过:self.tabBarController.selectedIndex = 3;但显然只显示了ViewController,并且没有将信息推送到它上面。

我知道如何更改底部代码以获得我想要的结果吗?

ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
[request setUserInfo:dictionary];
[downloadTableViewObj setDownloadDirectory:path];
[downloadTableViewObj addDownloadRequest:request];

[self.navigationController pushViewController:downloadTableViewObj animated:YES];

1 个答案:

答案 0 :(得分:0)

我不确定您的架构,但UITabBarController的方法如下:

  

viewControllers
  选项卡栏界面显示的根视图控制器数组   @property(非原子,复制)NSArray * viewControllers

在tabBar更改选择之前或之后,您可以在要向其发送消息的索引处访问右视图控制器。

另请注意,UITabBarController可以delegate实施UITabBarControllerDelegate协议。在某些情况下这可能很有用,但我认为你不适合它。


NSArray *ar = self.tabBarController.viewControllers;  
UINavigationController *nav = (UINavigationController *)ar[3];   
self.tabBarController.selectedIndex = 3;
[nav pushViewController:downloadTableViewObj animated:YES];  

我没有尝试过那种特殊的代码,但是那种逻辑应该有用。