TabBarController setSelectedIndex - 将调用哪个委托方法

时间:2012-08-16 12:33:46

标签: iphone ios ios4 uitabbarcontroller

我想知道何时为uitabbbarviewcontroller设置setSelectedIndex, 将调用哪种委托方法。

在我的应用程序中,我有要购买的歌曲列表。当用户点击任何歌曲的购买按钮时,我将显示下载选项卡。因为我正在设置[self.tabBarController setSelectedIndex:3];我正在显示歌曲详情和进度视图那多少是下载等等。

这很好。在诗歌下载的同时,用户可以去拍另一首诗。 在这里我想重新加载tableview.but我不知道在哪个委托方法我应该为tableview调用重载数据。

我尝试了viewwillappear和viewdidappear。但这些都没有被称为。 所以请告诉我将调用哪种委托方法。

非常感谢

2 个答案:

答案 0 :(得分:3)

覆盖UITabBarController setSelectedIndex:

-(void)setSelectedIndex:(NSUInteger)selectedIndex
{
    //must call super function. 
    [super setSelectedIndex:selectedIndex];

    [self myMethod];
}

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
    [self myMethod];
}

答案 1 :(得分:1)

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;
仅当用户点击它时才会调用

,当您以编程方式设置它时,它不会被调用。 您可以在编程时立即触发自定义委托方法或通知,并执行您需要执行的操作...