我想知道何时为uitabbbarviewcontroller设置setSelectedIndex, 将调用哪种委托方法。
在我的应用程序中,我有要购买的歌曲列表。当用户点击任何歌曲的购买按钮时,我将显示下载选项卡。因为我正在设置[self.tabBarController setSelectedIndex:3];
我正在显示歌曲详情和进度视图那多少是下载等等。
这很好。在诗歌下载的同时,用户可以去拍另一首诗。 在这里我想重新加载tableview.but我不知道在哪个委托方法我应该为tableview调用重载数据。
我尝试了viewwillappear和viewdidappear。但这些都没有被称为。 所以请告诉我将调用哪种委托方法。
非常感谢
答案 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;
仅当用户点击它时才会调用,当您以编程方式设置它时,它不会被调用。 您可以在编程时立即触发自定义委托方法或通知,并执行您需要执行的操作...