私の現在のApp FlowにTab Bar Controllerを追加したいと思います。現在のところ、クリックすると、ユーザーがログインした後、ログインした後で、ナビゲーションバーの名前とログアウトボタンが右側に表示されているホームページに移動したいというWebビューの新しいviewcontrollerを開くボタンがあるページがあります。ホームページには3つのタブがあるタブバーも必要です。 webviewからホームページビューを読み込み、ナビゲーションバーを取得できます。しかし、私はtabBarを追加することはできませんし、それを動作させる。 TabBarを追加するコードをどこに追加するのか混乱しています。私は、タブバーを追加するには、以下のコードを使用しています -Tab Bar Controllerを現在のApp Flowにプログラムで追加する
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];
現在、私はUITabBarControllerを拡張するのViewController TabViewControllerののviewDidLoadで上記のコードを入れています。私のWebViewコントローラでは、私は次のコードを入れている -
TabViewController *tab=[[TabViewController alloc] init];
tab.userInfo=userInfo;
[self presentViewController:tab animated:YES completion:nil];
をしかし、私はすでに開いて1以外の任意のタブをクリックするとアプリが、すぐにクラッシュします。 助けてください。
あなたがタブバーを追加しているのを見てください.. – Shivaay
私はログ後に来るビューにtabBarを追加したいビューツリー内のウェブビューの後のビュー。 –
'UINavigationController'をルートviewcontrollerとして作成し、ログイン時にTabViewControllerを押してみましたか? – Devang