Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 显示一个视图控制器后的选项卡栏控制器_Iphone_Objective C_Uitabbarcontroller - Fatal编程技术网

Iphone 显示一个视图控制器后的选项卡栏控制器

Iphone 显示一个视图控制器后的选项卡栏控制器,iphone,objective-c,uitabbarcontroller,Iphone,Objective C,Uitabbarcontroller,我想问一下,在我展示了一个视图控制器之后,是否可以展示一个tabbarcontroller。 我已经看过很多关于tabbarcontroller的教程,但它们都是使用以下行放在AppDelegate中的: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ [self.window addSubview:tabController

我想问一下,在我展示了一个视图控制器之后,是否可以展示一个tabbarcontroller。 我已经看过很多关于tabbarcontroller的教程,但它们都是使用以下行放在AppDelegate中的:

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