5

iPhone開発初心者です。私はTabBarViewcontrollerアプリ (iPhone と iPad) を開発しており、その中でアプリとLoginViewControllerボタン アクションを作成しました。私の期待は、そのボタンをクリックした後、コントロールが からLoginViewControllerに移動することTabBarViewControllerです。これTabBarViewcontrollerには、5 つの Tabbar (項目) ViewControllers があります。出来ますか?

できれば、あなたのアイデアを共有してください。

4

4 に答える 4

7

まず、あなたのUINavigationControllerandを取り、それぞれのフィールドにバインドします.. ansを rootViewController として設定します..UITabbarControllerMainWindow.xibIBOutletLoginViewControllerUINavigationController

次に、didFinishLaunchingWithOptionsメソッドでこれを書きます..

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    [self.window setRootViewController:navController];
    [self.window makeKeyAndVisible];    
    return YES;
}

このように他のメソッドを作成しAppDelegate.mます..

-(void)loadApplication
{
    [navController pushViewController:tabbarController animated:NO];
}

ログインボタンアクションで..このメソッドを次のように呼び出します..

-(IBAction)btnLoginTapped:(id)sender
{
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
    [appDelegate loadApplication];
}
于 2012-11-20T09:28:12.593 に答える
5

このメソッドを使用して、他のビューからタブバーを追加します..

    -(void)addTabBarControllerInwindow 
    {
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:1.0];
        [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.window cache:YES];

        [self.navigationController.view removeFromSuperview];
        [self.window addSubview:tabBarController.view];
        [UIView commitAnimations];
    }

このメソッドをAppDelegate.mファイルと任意のviewController、たとえばLoginView Controllerに配置して、タブバーを追加し、デリゲートのオブジェクトを宣言して、次のようにこのメソッドを呼び出します..

 AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
 [appDelegate addTabBarControllerInwindow];
于 2012-11-20T09:37:08.517 に答える
5

したがって、ボタンアクションで次のコードを試してください

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
appDelegate.window.rootViewController = tabBarController;
于 2012-11-20T09:20:01.030 に答える
1

1 つのプロジェクトで複数の VC を探していると思います。そのため、appDelegate で loginVC およびその他の VC (タブバー用) の VC を宣言して初期化し、ログインが成功した後に次の関数を呼び出します。

起動時に LoginVC を RootViewController にする

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{// declare LoginVC and make it rootViewController
 self.window.rootViewController = self._loginVCObj;
    [self.window makeKeyAndVisible];
}

#pragma mark- Continue to next screen after successful Login

-(void) continueToNextView
{   // Handle UI after Login like.
 [_loginVCObj._indicator stopAnimating];
    [_loginVCObj._loginButton setEnabled:YES];
//add the VC to the tabbar 
    self._tabBarController.viewControllers = [NSArray arrayWithObjects:self.navigationControllerList,_favItemListNavObj, _toDoHereVC, _settingNavObj, nil]; 
// make tabbar as rootViewController
     self.window.rootViewController = self._tabBarController;
}
于 2012-11-20T11:30:13.947 に答える