0

当我通过 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];
4

1 回答 1

0

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

viewControllers
标签栏界面显示的根视图控制器数组。
@property(nonatomic, copy) 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];  

我没有尝试过那个特定的代码,但是具有这种逻辑的东西应该可以工作。

于 2013-01-31T02:53:41.500 回答