2012-11-20 31 views
5

iPhone geliştirmede yeniyim. Ben bir TabBarViewcontroller App (iPhone ve iPad) geliştiriyorum ve bir LoginViewController ve bir Düğme Eylemi oluşturdum. Beklentim, bu Düğmeye tıklandıktan sonra kontrol LoginViewController'dan TabBarViewController'a hareket edecektir. Bu TabBarViewcontroller içinde 5 Tabbar (öğeler) ViewControllers var. Mümkün mü?Düğme Eylemini nasıl Tabbar Viewcontrollers'a bağlarım

Yapabilirseniz, lütfen fikirlerinizi paylaşın. Her şeyden

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
appDelegate.window.rootViewController = tabBarController; 

cevap

7

Öncelikle, MainWindow.xib içinde UINavigationController ve UITabbarController almak ve ilgili alanlara IBOutlet bağlayan kodları aşağıdaki butonu eylem denemede Yani

+0

işe yarıyor .. fikriniz için tnx –

5

.. ans .. senin UINavigationController ait rootViewController olarak LoginViewController set

Sonra didFinishLaunchingWithOptions yönteminde bunu yazmak ..

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

Şimdi böyle AppDelegate.m diğer yöntem oluşturmak .. senin Girişi düğmesi eylemi

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

.. dediğimiz bu yöntem aşağıdaki gibidir .. başka görünümden tabbar eklemek için

-(IBAction)btnLoginTapped:(id)sender 
{ 
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate]; 
    [appDelegate loadApplication]; 
} 
+0

olarak LoginVC yapmak sizin problem çözme nedir? –

+0

Harika çalışıyor ... Fikriniz için Tnx. –

5

kullanımını bu yöntem .. AppDelegate.m dosyada herhangi viewController örn içinde

-(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]; 
    } 

koymak bu yöntem LoginView Kontrolörü sen ben tek bir projede birden VC arıyor olabilir düşünüyorum ..

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
[appDelegate addTabBarControllerInwindow]; 
+0

Cevabınız için Tnx… Bu kodu benim için kullandım ... AppDelegate * appDelegate = [[UIApplication sharedApplication] delege]; appDelegate.window.rootViewController = tabBarController; –

+0

@ Ramesh.GR her zaman wel-come dostum .. :) sizin için yararlı eğer tavsiye veya accpet cevap .. –

1

sonra tabbar eklemek temsilci nesne bildirmek ve bağırma gibi bu yöntemi çağırmak istediğinizde. Bu nedenle, appDelegate uygulamasında loginVC ve diğerVC'ler (tabbar için) için bir VC'yi bildirin ve oturum açtıktan sonra aşağıdaki işlevi başarılı bir şekilde arayın. başlatmada

RootViewController

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

#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; 
} 
+0

Cevabınız için Tnx ... Bu kodu kullandığını kullandım .. benim için .. AppDelegate * appDelegate = [ [UIApplication sharedApplication] delege]; appDelegate.window.rootViewController = tabBarController; –

+0

@ Ramesh.GR Bunu duymak güzel. Keyfini çıkarın. – HDdeveloper

İlgili konular