0

私はこのiPhoneの開発に不慣れです.6つのタブで構成されるタブバーアプリケーションを作成しましたこれはappdelegaateファイルdidfinishlaunchingでタブバーコントローラーを作成するためのコードです

UIViewController *viewController1 = [[[cardsAvailable1 alloc] 
                                      initWithNibName:@"cardsAvailable1" bundle:nil] autorelease];
UIViewController *viewController2 = [[[fetchcard1 alloc] 
                                      initWithNibName:@"fetchcard1" bundle:nil] autorelease];
UIViewController *viewController3 = [[[registration alloc] 
                                      initWithNibName:@"registration" bundle:nil] autorelease];
UIViewController *viewController4 = [[[logintab alloc] 
                                      initWithNibName:@"logintab" bundle:nil] autorelease];

UIViewController *viewController5 = [[[registration alloc] 
                                      initWithNibName:@"logout" bundle:nil] autorelease];
UIViewController *viewController6 = [[[logintab alloc] 
                                      initWithNibName:@"myprofile" bundle:nil] autorelease];

self.tabBarController = [[[UITabBarController alloc] init] autorelease];

self.tabBarController.viewControllers = [NSArray arrayWithObjects:
                                         [[[UINavigationController alloc] initWithRootViewController:viewController1] autorelease], 
                                         [[[UINavigationController alloc] initWithRootViewController:viewController2] autorelease],
                                         [[[UINavigationController alloc] initWithRootViewController:viewController3] autorelease],
                                         [[[UINavigationController alloc] initWithRootViewController:viewController4] autorelease], 
                                         [[[UINavigationController alloc] initWithRootViewController:viewController5] autorelease],
                                         [[[UINavigationController alloc] initWithRootViewController:viewController6] autorelease],
                                         nil];
 self.tabBarController.selectedIndex = 3;

self.window.rootViewController = self.tabBarController;
[self.window addSubview:self.tabBarController.view];

[self.window makeKeyAndVisible];

今私の問題は、人がログインした後、つまりログインページにあるログインボタンをクリックした後、2つのタブバーアイテム、つまり登録ページとログインページを非表示にし、ログアウトページとmyprofileページをタブバーと一緒に表示する必要があることですフェッチカードと利用可能なカードを含めて、誰かが私にそれを行う方法を提案できますか?

4

2 に答える 2

3

タブ バーのビュー コントローラーの配列を編集することで、タブ バーの項目を追加および削除できます。

NSMutableArray newArrayOfItems = [[NSMutableArray alloc] initWithArray:self.tabBarController items]];
[newArrayOfItems removeObjectAtIndex:indexOfUnneededItem];
[self.tabBarController setItems:newArrayOfItems animated:true];
[newArrayOfItems release];

あなたの例とあなたのコメントへの応答では、アプリのデリゲート ヘッダーをインポートする限り、次のコードが機能します。

NSMutableArray newArrayOfItems = [[NSMutableArray alloc] initWithArray: [[[UIApplication sharedApplication] delegate].tabBarController items]];
[newArrayOfItems removeObjectAtIndex:indexOfUnneededItem];
[[[UIApplication sharedApplication] delegate].tabBarController setItems:newArrayOfItems animated:true];
[newArrayOfItems release];
于 2012-04-04T04:58:52.960 に答える
1

hidesBottomBarWhenPushedビューコントローラーをプッシュする前にプロパティを設定できます。以下にサンプルコードがあります。

LoginController *lc = [[LoginController alloc] initWithNibName:nil bundle:nil];
lc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:lc animated:YES];
[lc release];
于 2012-04-04T08:22:38.917 に答える