0

我想知道当我们为 uitabbbarviewcontroller 设置 setSelectedIndex 时,会调用哪个委托方法。

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

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

我试过viewwillappear和viewdidappear。但这些没有被调用。所以请告诉我将调用哪个委托方法。

非常感谢

4

2 回答 2

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];
}
于 2013-07-31T05:42:01.037 回答
1
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController;

只有当用户点击它时才会调用它,当你以编程方式设置它时,它不会被调用。您可以在以编程方式执行自定义委托方法或通知后立即触发并执行您需要做的任何事情......

于 2012-08-16T12:52:20.823 回答