iphone查看加载问题

时间:2010-11-22 04:51:34

标签: iphone tabbar

hii,那里

我正在制作一个tabbar应用程序。在第一个选项卡上的这个应用程序中,我正在使用导航,所以当我导航到其他视图时,我立即转到其他选项卡。再次当我要去第一个标签时,它会向我显示导航视图,我想显示第一个标签视图。

有人可以告诉我如何处理这些事情......

3 个答案:

答案 0 :(得分:0)

您是否在询问如何在代码中从一个标签切换到另一个标签?如果是这样,它看起来像这样:

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate];

[appDelegate tabcontroller].selectedIndex = [yourIntegerIndexHere];

如果显示“YourAppDelegate”,显然会使用您的实际应用代表的名称。

它表示“yourIntegerIndexHere”,这是一个整数,其中包含要切换到的选项卡的索引。最左边的标签是0。

答案 1 :(得分:0)

基于标签的应用程序的主要目的是保存所有视图,直到它们被导航为止。

如果您希望在点击标签栏时存在初始视图,则在每个标签栏视图中,您必须编写代码,以便将第一个标签中的视图弹出到该标签的根视图控制器。

快乐iCODING ...

答案 2 :(得分:0)

据我所知,你的TabBarController的第一个Tab上有一个NavigationController,当你点击第一个Tab时,你希望你的NavigationController返回到它的根视图控制器。

首先,请注意,这不是TabBarController的默认行为,它可能会让您的用户感到有点烦恼。用户可以通过再次点击选项卡返回TabBarController内NavigationController的根视图。

知道这一点,如果您仍想更改TabBarController的默认行为,可以执行以下操作:

将AppDelegate类设置为UITabBarController的Delegate。它必须实现UITabBarControllerDelegate协议,你必须写这样的东西:

[myUITabBarController setDelegate:self];

在您的应用didFinishLaunchingWithOptions:方法中。

然后,在AppDelegate中实现此方法。

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
    if ([tabBarController selectedIndex] == kMyNavigationControllerIndex) {
        [(UINavigationController *)[tabBarController selectedViewController] popToRootViewControllerAnimated:NO];
    }
}

其中kMyNavigationControllerIndex是一个常量值,包含您想要更改的NavigationViewController的索引(如果它是第一个选项卡,则为0)。

希望这有帮助。