Desidero aggiungere un controller di barra delle schede al flusso di app corrente. Attualmente ho una pagina con un pulsante che al clic apre un nuovo viewcontroller con una vista web in cui l'utente accede e dopo l'accesso voglio portarlo alla sua pagina iniziale dove la barra di navigazione ha il suo nome e un pulsante di disconnessione nella parte destra . La home page dovrebbe anche avere una barra delle schede con 3 diverse schede. Sono in grado di caricare la vista della pagina iniziale dalla visualizzazione Web e ottenere la barra di navigazione. Ma non riesco ad aggiungere tabBar e farlo funzionare. Sono confuso su dove aggiungere il codice per aggiungere TabBar. Sto usando il codice qui sotto per aggiungere barra delle schede -Aggiungere un controller di barra delle schede al livello di flusso delle applicazioni corrente
UITabBarController *tabBar = [[UITabBarController alloc] init];
HomeViewController *home = [[PPHomeViewController alloc] initWithUserName:[self.userInfo objectForKey:@"name"] Email:[self.userInfo objectForKey:@"email"] Phone:[self.userInfo objectForKey:@"phone_number"]];
home.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:1];
UINavigationController *homeNavController = [[UINavigationController alloc]initWithRootViewController:home];
RequestViewController *req = [[RequestMoneyViewController alloc]init];
req.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:2];
UINavigationController *reqNavController = [[UINavigationController alloc]initWithRootViewController:req];
UIViewController *thirdViewController = [[UIViewController alloc]init];
thirdViewController.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:3];
UINavigationController *thirdNavController = [[UINavigationController alloc]initWithRootViewController:thirdViewController];
UIViewController *fourthViewController = [[UIViewController alloc]init];
thirdViewController.tabBarItem = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:3];
UINavigationController *fourthNavController = [[UINavigationController alloc]initWithRootViewController:fourthViewController];
tabBar.viewControllers = [[NSArray alloc] initWithObjects:homeNavController, reqNavController, thirdNavController, fourthNavController, nil];
tabBar.delegate=self;
tabBar.selectedIndex=0;
UIImageView *homeImg=[[UIImageView alloc]initWithFrame:CGRectMake(0, 432, 80, 49)];
homeImg.tag=11;
homeImg.image=[UIImage imageNamed:@"footer"];
UIImageView *reqImg=[[UIImageView alloc]initWithFrame:CGRectMake(81, 432,80, 49)];
reqImg.tag=12;
reqImg.image=[UIImage imageNamed:@"footer"];
UIImageView *sendImg=[[UIImageView alloc]initWithFrame:CGRectMake(162, 432,80, 49)];
sendImg.tag=13;
sendImg.image=[UIImage imageNamed:@"footer"];
UIImageView *localImg=[[UIImageView alloc]initWithFrame:CGRectMake(243, 432, 80, 49)];
localImg.tag=14;
localImg.image=[UIImage imageNamed:@"footer"];
[tabBar.view addSubview:homeImg];
[tabBar.view addSubview:reqImg];
[tabBar.view addSubview:sendImg];
[tabBar.view addSubview:localImg];
[[[UIApplication sharedApplication]keyWindow]addSubview:tabBar.view];
Attualmente ho messo il codice in alto nel viewDidLoad di un TabViewController ViewController che si estende UITabBarController. Nel mio controller WebView ho messo il seguente codice -
TabViewController *tab=[[TabViewController alloc] init];
tab.userInfo=userInfo;
[self presentViewController:tab animated:YES completion:nil];
Ma l'applicazione va in crash non appena clicco una qualsiasi scheda diversa da quella già aperta. Per favore aiuto.
si controlla la tua vista ad albero ... In quale guarda che stai aggiungendo la barra delle schede .. – Shivaay
Voglio aggiungere il tabBar nella vista che viene dopo la registrazione in - cioè la vista dopo la vista Web nell'albero della vista. –
Hai provato a creare un 'UINavigationController' come un root viewcontroller e spingi TabViewController all'accesso? – Devang