2010-07-21 86 views
0

我有我的标签栏控制器中的几个选项卡,只有一个(第一个)我需要一个自动重新加载每次我选择它的选项卡(以及当应用程序返回到前景)。重新加载视图控制器时按下标签

我没有找到如何做到这一点,我是否需要每次手动重新创建标签栏控制器?我是否需要将一组新的视图控制器添加到标签栏控制器?

感谢您的帮助

+0

你需要重新加载什么?数据?图片? UITableView的? – jmont 2010-07-21 17:28:03

+0

从你的问题来看,很难确切地说出你想要做什么。但是你可能会感兴趣的是UITabBarControllerDelegate协议的shouldSelectViewController和didSelectViewController方法。 – 2010-07-21 17:42:01

+0

事实上,当viewController被加载时,会执行一个http请求。我需要每次单击该选项卡时执行此请求。你是对的威廉,我使用TabBar协议的这两种方法,但我认为我的问题是如何使用它们来分配/重新分配属于第一个选项卡的控制器。目前我使用这些方法来检查新标签何时被点击。 – Luc 2010-07-21 21:27:58

回答

0

会是有意义的有updateView函数的,你可以在viewWillAppear上,确保一切特定视图调用是跟上时代的每一个视图设置为显示时间?

+0

认为viewWillAppear仅被调用一次,而不是每次单击选项卡时。我需要在每次点击标签时释放/初始化视图,以便触发此viewWillAppear方法。但你是对的,我需要调用的函数(http请求)位于viewWillAppear中。 – Luc 2010-07-21 21:30:11

0

如果UIViewController是一个UITabBarControllerDelegate它会得到此回调,这是你想要什么,我相信:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController 

只需return YES呼唤你updateView方法之后。

相关问题