0

uitabbbarviewcontroller に setSelectedIndex を設定しているときに、どのデリゲート メソッドが呼び出されるかを知りたいです。

私のアプリでは、購入する曲のリストがあります。ユーザーが任意の曲の購入ボタンをタップすると、ダウンロードタブが表示されます。そこで設定し[self.tabBarController setSelectedIndex:3];ているため、曲の詳細とダウンロードされた量などの進行状況を表示しています。

これまでは問題ありません。詩をダウンロードしている間に、ユーザーはタップして別の詩を購入できます。ここでテーブルビューをリロードしたいのですが、どのデリゲートメソッドでテーブルビューのリロードデータを呼び出す必要があるかわかりません。

私は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 に答える