Iphone 其他uiviewcontroller上未显示UIAbbarController
我的应用程序有一个包含Iphone 其他uiviewcontroller上未显示UIAbbarController,iphone,objective-c,uinavigationcontroller,uitabbarcontroller,Iphone,Objective C,Uinavigationcontroller,Uitabbarcontroller,我的应用程序有一个包含UITabBarController和tabBar的第一页。 但是当我将视图控制器推到UINavigationController时,我的UITabBarController不显示 appdelegate: self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; anasayfaViewController * firstTab= [[anasayfaViewControl
UITabBarController
和tabBar
的第一页。
但是当我将视图控制器
推到UINavigationController
时,我的UITabBarController
不显示
appdelegate:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
anasayfaViewController * firstTab= [[anasayfaViewController alloc] initWithNibName:@"anasayfaViewController" bundle:nil];
SehirRehberiViewController *sehirRehberi = [[SehirRehberiViewController alloc] initWithNibName:@"SehirRehberiViewController" bundle:nil];
duyuruViewController *duyuru = [[duyuruViewController alloc] initWithNibName:@"duyuruViewController" bundle:nil];
sikayetViewController *sikayet = [[sikayetViewController alloc] initWithNibName:@"sikayetViewController" bundle:nil];
digerViewController *diger = [[digerViewController alloc] initWithNibName:@"digerViewController" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[firstTab,sehirRehberi,duyuru,sikayet,diger];
navigationController=[[UINavigationController alloc]initWithRootViewController:self.tabBarController];
self.window.rootViewController = self.navigationController;
// [self.window addSubview:self.navigationController.view];
[self.window makeKeyAndVisible];
return YES;
firstTab viewcontroller具有按钮并单击事件:
-(void)btnClick:(id)sender
{
[self.navigationController pushViewController:haberler animated:NO];
}
当我单击
UIViewController
时,它将打开,但不显示uitabarcontroller
。我怎样才能解决这个问题 您有uitabarcontroller
作为UINavigationController
的rootViewController。和UINavigationController
作为应用程序的根控制器。相反,您必须将uitabarcontroller
设置为应用程序的根控制器,并在每个选项卡中添加UINavigationController
检查答案。您的
UINavigationController
是您的UINavigationController
的rootViewController。和UINavigationController
作为应用程序的根控制器。相反,您必须将uitabarcontroller
设置为应用程序的根控制器,并在每个选项卡中添加UINavigationController
检查答案。首先,您需要创建一个包含所有视图控制器(导航控制器)的数组,如 及 您需要将Winodw的
Rootviewcontroller
设置为
[self.window setRootViewController:tabBarController]代码>不是Navigationcontroller
作为您的代码示例:-< /P>
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
anasayfaViewController * firstTab= [[anasayfaViewController alloc] initWithNibName:@"anasayfaViewController" bundle:nil];
UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:firstTab];
SehirRehberiViewController *sehirRehberi = [[SehirRehberiViewController alloc] initWithNibName:@"SehirRehberiViewController" bundle:nil];
UINavigationController *navigationController2 = [[UINavigationController alloc] initWithRootViewController:sehirRehberi];
duyuruViewController *duyuru = [[duyuruViewController alloc] initWithNibName:@"duyuruViewController" bundle:nil];
UINavigationController *navigationController3 = [[UINavigationController alloc] initWithRootViewController:duyuru];
sikayetViewController *sikayet = [[sikayetViewController alloc] initWithNibName:@"sikayetViewController" bundle:nil];
UINavigationController *navigationController4 = [[UINavigationController alloc] initWithRootViewController:sikayet];
digerViewController *diger = [[digerViewController alloc] initWithNibName:@"digerViewController" bundle:nil];
UINavigationController *navigationController5 = [[UINavigationController alloc] initWithRootViewController:diger];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[navigationController1,navigationController2,navigationController3,navigationController4,navigationController5];
[self.window setRootViewController:tabBarController];
[self.window makeKeyAndVisible];
return YES;
更新:-
如果您想TabbarController
在单击按钮时添加NextViewcontroller,则可以使用以下不同方式:-
例如,当应用程序lonch和itlogin
按钮单击时,您需要按下视图控制器,并且该视图控制器包含这些选项卡栏
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
LoginViewcontroller *objLogin = [[LoginViewcontroller alloc] initWithNibName:@"LoginViewcontroller" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
在loginViewcontroller登录按钮操作中:-
-(IBAction)LoginSuccess
{
anasayfaViewController * firstTab= [[anasayfaViewController alloc] initWithNibName:@"anasayfaViewController" bundle:nil];
UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:firstTab];
SehirRehberiViewController *sehirRehberi = [[SehirRehberiViewController alloc] initWithNibName:@"SehirRehberiViewController" bundle:nil];
UINavigationController *navigationController2 = [[UINavigationController alloc] initWithRootViewController:sehirRehberi];
duyuruViewController *duyuru = [[duyuruViewController alloc] initWithNibName:@"duyuruViewController" bundle:nil];
UINavigationController *navigationController3 = [[UINavigationController alloc] initWithRootViewController:duyuru];
sikayetViewController *sikayet = [[sikayetViewController alloc] initWithNibName:@"sikayetViewController" bundle:nil];
UINavigationController *navigationController4 = [[UINavigationController alloc] initWithRootViewController:sikayet];
digerViewController *diger = [[digerViewController alloc] initWithNibName:@"digerViewController" bundle:nil];
UINavigationController *navigationController5 = [[UINavigationController alloc] initWithRootViewController:diger];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[navigationController1,navigationController2,navigationController3,navigationController4,navigationController5];
[self.navigationController pushViewController:self.tabBarController animated:YES];
}
第一件事是,您需要创建一个包含所有视图控制器(导航控制器)的数组,如
及
您需要将Winodw的Rootviewcontroller
设置为
[self.window setRootViewController:tabBarController]代码>不是Navigationcontroller
作为您的代码示例:-< /P>
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
anasayfaViewController * firstTab= [[anasayfaViewController alloc] initWithNibName:@"anasayfaViewController" bundle:nil];
UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:firstTab];
SehirRehberiViewController *sehirRehberi = [[SehirRehberiViewController alloc] initWithNibName:@"SehirRehberiViewController" bundle:nil];
UINavigationController *navigationController2 = [[UINavigationController alloc] initWithRootViewController:sehirRehberi];
duyuruViewController *duyuru = [[duyuruViewController alloc] initWithNibName:@"duyuruViewController" bundle:nil];
UINavigationController *navigationController3 = [[UINavigationController alloc] initWithRootViewController:duyuru];
sikayetViewController *sikayet = [[sikayetViewController alloc] initWithNibName:@"sikayetViewController" bundle:nil];
UINavigationController *navigationController4 = [[UINavigationController alloc] initWithRootViewController:sikayet];
digerViewController *diger = [[digerViewController alloc] initWithNibName:@"digerViewController" bundle:nil];
UINavigationController *navigationController5 = [[UINavigationController alloc] initWithRootViewController:diger];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[navigationController1,navigationController2,navigationController3,navigationController4,navigationController5];
[self.window setRootViewController:tabBarController];
[self.window makeKeyAndVisible];
return YES;
更新:-
如果您想TabbarController
在单击按钮时添加NextViewcontroller,则可以使用以下不同方式:-
例如,当应用程序lonch和itlogin
按钮单击时,您需要按下视图控制器,并且该视图控制器包含这些选项卡栏
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
LoginViewcontroller *objLogin = [[LoginViewcontroller alloc] initWithNibName:@"LoginViewcontroller" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
在loginViewcontroller登录按钮操作中:-
-(IBAction)LoginSuccess
{
anasayfaViewController * firstTab= [[anasayfaViewController alloc] initWithNibName:@"anasayfaViewController" bundle:nil];
UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:firstTab];
SehirRehberiViewController *sehirRehberi = [[SehirRehberiViewController alloc] initWithNibName:@"SehirRehberiViewController" bundle:nil];
UINavigationController *navigationController2 = [[UINavigationController alloc] initWithRootViewController:sehirRehberi];
duyuruViewController *duyuru = [[duyuruViewController alloc] initWithNibName:@"duyuruViewController" bundle:nil];
UINavigationController *navigationController3 = [[UINavigationController alloc] initWithRootViewController:duyuru];
sikayetViewController *sikayet = [[sikayetViewController alloc] initWithNibName:@"sikayetViewController" bundle:nil];
UINavigationController *navigationController4 = [[UINavigationController alloc] initWithRootViewController:sikayet];
digerViewController *diger = [[digerViewController alloc] initWithNibName:@"digerViewController" bundle:nil];
UINavigationController *navigationController5 = [[UINavigationController alloc] initWithRootViewController:diger];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[navigationController1,navigationController2,navigationController3,navigationController4,navigationController5];
[self.navigationController pushViewController:self.tabBarController animated:YES];
}
您应该尝试使用我下面的代码片段
anasayfaViewController * firstTab= [[anasayfaViewController alloc] initWithNibName:@"anasayfaViewController" bundle:nil];
UINavigationController *firstNav = [[UINavigationController alloc] initWithRootViewController:firstTab];
SehirRehberiViewController *sehirRehberi = [[SehirRehberiViewController alloc] initWithNibName:@"SehirRehberiViewController" bundle:nil];
UINavigationController *secondNav = [[UINavigationController alloc] initWithRootViewController:sehirRehberi];
// object for tabbarviewcontroller
self.tab.viewControllers = [NSArray arrayWithObjects:firstNav,secondNav,nil];
我已经向您展示了tabbarcontroller中两个选项卡的示例。您可以根据需要定制
享受编程 您应该尝试使用我下面的代码片段
anasayfaViewController * firstTab= [[anasayfaViewController alloc] initWithNibName:@"anasayfaViewController" bundle:nil];
UINavigationController *firstNav = [[UINavigationController alloc] initWithRootViewController:firstTab];
SehirRehberiViewController *sehirRehberi = [[SehirRehberiViewController alloc] initWithNibName:@"SehirRehberiViewController" bundle:nil];
UINavigationController *secondNav = [[UINavigationController alloc] initWithRootViewController:sehirRehberi];
// object for tabbarviewcontroller
self.tab.viewControllers = [NSArray arrayWithObjects:firstNav,secondNav,nil];
我已经向您展示了tabbarcontroller中两个选项卡的示例。您可以根据需要定制
享受编程 您想在选项卡栏控制器中使用导航控制器吗?此时,您的视图正好相反,因此新视图被推到选项卡上bar@Leta0nhaberler是UIViewControllera您是否希望在选项卡栏控制器中安装导航控制器?此时,您的视图正好相反,因此新视图被推到选项卡上bar@Leta0n哈伯勒是UIVIEW控制员谢谢你回答瓦兰丁。但当我点击按钮时,我可以在哪里按下ViewController?那么哪个navigationController呢?您可以从一个选项卡中的navigationController推送新的控制器。谢谢您回答Valantin。但当我点击按钮时,我可以在哪里按下ViewController?那么哪个navigationController呢?您可以从一个选项卡中的navigationController中推送新的控制器。@Erhan Demirci现在检查这里,我从应用程序lonch tabbarcontroller中输入两种方法,然后单击Tabbar controller按钮,希望这对您有所帮助。@Erhan Demirci现在检查那里,我从应用程序lonch tabbarcontroller中输入两种方法,然后单击Tabbar controller按钮点击Tabbar控制器,希望这对您有所帮助。