如何在加载应用程序时取消选择选项卡

时间:2011-07-21 06:11:36

标签: iphone objective-c uitabbarcontroller

我正在使用tabbar应用程序。应用程序启动时,默认情况下会选择第一个选项卡。

当我启动应用程序时,我想要的是,应显示标签栏而不选择选项卡。比方说,如果我有4个选项卡,那么当应用程序启动时它们会被选中。默认情况下,首先选择一个。

我想显示一些不属于任何标签的视图。

有可能吗?

...谢谢

3 个答案:

答案 0 :(得分:1)

如果你有一个可见的tabBarController,那么必然会选择一些东西。没办法解决这个问题。

但是,如果您想要隐藏tabBar,那么您当然可以通过将其hidden属性设置为YES或在所选标签上显示模态视图来实现此目的(例如第一个viewController)。

答案 1 :(得分:1)

是的,可以显示不属于由tabbar控制器管理的视图控制器之一的视图。有很多方法可以做到这一点 您可以以模态方式呈现视图控制器,或者只在标签栏控制器的视图中添加子视图。

但只要tabbar控制器获得实例化,就有无法来取消选择每个标签。

答案 2 :(得分:1)

是的,这是可能的。

您需要以编程方式创建视图并在Window中添加视图作为SuperView ,当您不需要它时从SuperView中删除它 STRONG>。

[SuperViewname removeFromSuperView];

代码段:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.
    // Add the tab bar controller's view to the window and display.
    [self.window addSubview:tabBarController.view];
        [self.window makeKeyAndVisible];


**AdditionalView**
//======================= LoginView ================================================
    loginview=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    imgview_logingpage=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    imgview_logingpage.image=[UIImage imageNamed:@"Screen.jpg"];

    loginview.backgroundColor=[UIColor blackColor];


        [self.window addSubview:Viewnavigation.view];
    [self.window addSubview:loginview];  // To add the View in Window View

}

//从SuperView中删除视图      - (无效)login_clicked:(ID)发送方     {

        Homepage *obj_homepage=[[Homepage alloc]initWithNibName:@"Homepage" bundle:nil];
        [self.window addSubview:obj_homepage.view];
        [loginview removeFromSuperview];
        [loginview release];
}

或者更简单的方法是:通过PresentModalViewController打开一个新视图