2011-10-31 51 views
-1

Hihi全部,iphone - Tabbar使用

我想在我的iphone应用程序中使用tabbar控件,我有几个关于控制的查询。

  1. 如果我创建的TabBar模板项目,在我的应用程序委托,它推出的应用程序时加载所有5个选项卡控制器,这会导致内存使用的任何低效率?

  2. 实际上我可以将tabbar控件拖动到我的每个屏幕中,并通过[self presentedViewController ..]和[self dismissModalViewControllerAnimated ...]方法在屏幕之间手动切换?

  3. 什么是在iPhone应用程序中使用tabbar最有效的方式?

在此先感谢!

:)

回答

0

虽然我不知道什么是最有效的“是指在你的情况下,我会尽力解释3.解释什么,我通常会做,当谈到典型的TabBar应用:

我不要参加示例项目,因为对于所有那些IB的东西来说(对我来说)有太多的魔力(并且我尝试过将Tabbar控制器和导航控制器结合在一起)。

我刚刚成立了一个简单的项目,摆脱所有IB的东西,做这样的事情在应用程序委托:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    NSMutableArray *cons = [[NSMutableArray alloc ]init]; 

    viewController = [[UITabBarController alloc] init]; 
    int i = 0; 

    UIViewController *firstController = [[SomeViewViewControllerClazz alloc] init]; 
    firstController = [[UITabBarItem alloc]initWithTitle:@"Een" image:nil tag:i]; 
    [cons addObject:firstController]; 
    [firstController release]; 
    i++; 


    UIViewController *secondController = [[AnotherViewControllerClazz alloc] init]; 
    secondController = [[UITabBarItem alloc]initWithTitle:@"Twej" image:nil tag:i]; 
    [cons addObject:secondController]; 
    [secondController release]; 
    i++; 


    UIViewController *thirdController = [[WhateverViewControllerClazz alloc] init]; 
    thirdController = [[UITabBarItem alloc]initWithTitle:@"Drej" image:nil tag:i]; 
    [cons addObject:thirdController]; 
    [thirdController release]; 
    i++; 

    viewController.viewControllers = cons; 
    [window addSubview:viewController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 

这样,我有最大的自由做任何我想做的与控制器但也有内置tabbars的力量。

1 .:这样,我从来没有记忆问题,即使我在开始时加载控制器。 2 .:如果tabbar的想法适合您的应用程序,请使用它作为iOs提供它。

+0

感谢您的评论! :) –

0

您的查询的答案是:

  1. 不,这不会造成内存使用的任何低效率。但你应该释放标签栏控制器

  2. 您可能会这样做,但它不是很好的做法,当您拨打presentedViewController选项卡将会消失(对不适当的术语抱歉)。

  3. 在iphone应用程序中使用tabbar最有效的方式是采取一个tabbar控制器并添加该tabBar视图。
+0

感谢您的评论! –

+0

你是最受欢迎的.... :) –