4

タイトルが示すように、1つを除くすべてのタブバーをロックできるようにしたいと思います。そして、ユーザーがアクションを完了した後でのみ、残りのすべてのタブバーを有効にします。どうやってやるの?

4

3 に答える 3

15

私はそれを試していませんが、ドキュメントtabBarController:shouldSelectViewController:によると、デリゲートからNOを返すことができます。

[更新]好奇心から試してみました-うまくいくようです。「タブバーアプリケーション」テンプレートから新しいプロジェクトを作成してから、-viewDidLoadFirstViewControllerのに移動します。次の行を追加します。

[self.tabBarController setDelegate:self];

次に、デリゲートメソッドを実装します。

-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
    if (userHasCompletedAction) {
        return YES;
    }
    return NO;
}

<UITabBarControllerDelegate>.hファイルに準拠することを忘れないでください!

お役に立てば幸いです。

于 2011-08-12T09:14:37.407 に答える
4

このメソッドを実装する必要があります

- (void)tabBarController:(UITabBarController *)tabBarController1 didSelectViewController:(UIViewController *)viewController {

    if ([tabBarController1 selectedIndex]==0) { 
        UITabBarItem *tabBarItem = [[[[self tabBarController]tabBar]items] objectAtIndex:1];
        [tabBarItem setEnabled:FALSE];

    } 
}

必要なタブバーアイテムを無効にするには、このようなことを行う必要があります。

于 2011-08-12T09:17:47.607 に答える
0

のメソッドtabBar:didSelectItem:UITabBarDelegate役立つ可能性があります。

于 2011-08-12T09:13:25.560 に答える