Iphone 显示一个视图控制器后的选项卡栏控制器
我想问一下,在我展示了一个视图控制器之后,是否可以展示一个tabbarcontroller。 我已经看过很多关于tabbarcontroller的教程,但它们都是使用以下行放在AppDelegate中的:Iphone 显示一个视图控制器后的选项卡栏控制器,iphone,objective-c,uitabbarcontroller,Iphone,Objective C,Uitabbarcontroller,我想问一下,在我展示了一个视图控制器之后,是否可以展示一个tabbarcontroller。 我已经看过很多关于tabbarcontroller的教程,但它们都是使用以下行放在AppDelegate中的: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [self.window addSubview:tabController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
[self.window addSubview:tabController.view];
[self.window makeKeyAndVisible];
return YES;}
我要做的是首先显示一个视图控制器:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES; }
在显示viewController之后,用户必须单击一个按钮以使用TABBARCONTROLLER显示另一个视图。如果可能的话,我该怎么做?是的,你可以。。。在第一个控制器中,完成某些作业后,按下Tabbar控制器 示例:- 假设您通过对UITabBarController进行子分类而拥有TabBarController类
- (void) doSomeJob
{
if(true)
{
TabBarController *aTabBarController = [[TabBarController alloc] initWithNibName:@"TabBarController" bundle:nil];
[self.navigationController pushViewController:aTabBarController animated:YES];
[aTabBarController release];
}
}
编辑的自定义选项卡栏:
.h文件
@interface TabBarController : UITabBarController<UITabBarControllerDelegate, UINavigationControllerDelegate>
{
UITabBarController *tabController;
UINavigationController *1NavController;
UINavigationController *2hNavController;
}
@property (nonatomic, retain) UITabBarController *tabController;
@property (nonatomic, retain) UINavigationController *1NavController;
@property (nonatomic, retain) UINavigationController *2hNavController;
您还需要相应地实现选项卡栏的委托方法……我遇到过导航控制器和选项卡栏视图控制器的情况,但您需要的是视图控制器,因此我根据您的要求修改了代码。检查n回复 首先在app delegate.h文件中初始化视图控制器和tabbar控制器 &给予财产也如:
{
IBOutlet FirstViewController * fvc;
IBOutlet UITabBarController *tabBarController;
}
@property (nonatomic, retain) IBOutlet FirstViewController * fvc;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
而不是在.m文件中将视图控制器设置为视图,因为您首先要设置简单视图控制器,如:
fvc = [[FirstViewController alloc]initWithNibName:@"FirstViewController" bundle:[NSBundle mainBundle]];
[self.window addSubview: fvc.view];
现在,在该视图控制器的特定事件中,您要跳转到tabbar视图控制器用户,请执行以下操作:
AppDelegate_iPhone *appDelegte_iPhone=(AppDelegate_iPhone*)[[UIApplication sharedApplication]delegate];
[[[appDelegte_iPhone viewController] view] removeFromSuperview];
[[appDelegte_iPhone window]addSubview:[[appDelegte_iPhone tabBarController]view]];
[[appDelegte_iPhone tabBarController]setSelectedIndex:0];
将UITabBarController保留为窗口的根视图控制器。将其他视图控制器显示为模态视图控制器。关闭模式视图控制器以显示选项卡栏控制器。请也给TabBarController类。@Maulik:嗨……我对创建自定义选项卡栏有疑问。你能帮我吗?@Maulik:我有一个基于导航的项目。你知道如何在其中一个类中添加自定义选项卡栏(带有箭头)吗?我应该通过编程还是有任何可能的方式通过xib完成它?@Ajitthala
- (void) doSomeJob
{
if(true)
{
TabBarController *aTabBarController = [[TabBarController alloc] initWithNibName:@"TabBarController" bundle:nil];
[self.navigationController pushViewController:aTabBarController animated:YES];
[aTabBarController release];
}
}