当前位置:  开发笔记 > 编程语言 > 正文

带导航控制器的标签栏应用程序

如何解决《带导航控制器的标签栏应用程序》经验,为你挑选了6个好方法。

我有一个简单的iPhone应用程序,它有一个标签栏和3个标签.每个选项卡作为单独的笔尖加载到相应的控制器.每个笔尖都包含一个tableview,其中包含一些其他用于搜索/过滤的控件.

我想要的(并且似乎无法找到一个示例)是向应用程序添加导航控制器,以便每个笔尖(即每个标签)可以向下钻取到更多详细信息页面.

我应该在主窗口中添加导航控制器并为其创建一个导航控制器,IBOutlet还是应该将NC添加到笔尖中.



1> Kendall Helm..:

一旦在XIB中有一个标签栏,最简单的方法是将UINavigationController对象从Library窗口(看起来像金色背景上的左侧导航栏按钮)拖动到标签栏的树视图中(仅文本视图,而不是GUI).将导航控制器放在标签栏控制器内,然后将现有视图控制器拖动到导航控制器中.

当您去查看该选项卡时,您应该看到它顶部的导航栏...如果您从另一个xib加载导航控制器,您将修改选项卡栏xib中的导航栏.



2> Max Ballo..:

这是如何以编程方式添加NavigationController(例如在你的AppDelegate中)

  UIViewController  *viewController1, *viewController2;

    viewController1 = [[[UIViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil] autorelease];
    UINavigationController *navigationcontroller = [[[UINavigationController alloc] initWithRootViewController:viewController1] autorelease];

    viewController2 = [[[UIViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil] autorelease];

    self.tabBarController = [[[UITabBarController alloc] init] autorelease];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:navigationcontroller, viewController2, nil];

如果您在Viewcontroller1中有一个tableview,则可以通过使用self.navigationController例如didSelectRowAtIndexPath打开DetailView 来访问Navigationcontroller

例如.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
    [self.navigationController pushViewController:detailViewController animated:YES];
    [detailViewController release];
}

在此示例中,detailViewController带有NIB文件,该文件添加带有后退按钮的导航栏.但是,如果以detailViewController编程方式初始化,则可以向a添加一个动作(GoBack)以从其navigationcontroller中UIBarButtonItem删除detailViewController它.

-(void) GoBack
{    
    [self.navigationController popViewControllerAnimated:YES];
}



3> dnstevenson..:

我意识到这已经很晚了,但是这个问题在今天谷歌搜索结果中排名第一,所以我想我会添加一个答案.O'Reilly有一个很棒的youtube视频教程,它将引导您完成一个tabbar +导航控制器应用程序.请在此处查看:http://www.youtube.com/watch?v = LBnPfAtswgw



4> August..:

思考它的方法是这样的:

您希望每个选项卡都有一个导航控制器.然后,每个导航控制器都需要一个根视图控制器和一个加载的Nib.

因此,在IB中,为每个选项卡添加导航控制器.然后,将每个导航控制器配置为具有适当的根视图控制器和Nib.



5> john.k.doe..:

很多答案,但都没有检查过......

当然,现在Xcode界面构建器中的故事板非常简单:

创建感兴趣的导航控制器,然后选择菜单Editor和项目Embed In >,然后Tab Bar Controller.

这甚至适用于Xcode为您开始使用新项目的主/详细拆分视图控制器模板时提供的导航控制器.在这两种情况下,我现在都有一个标签栏控制器作为我的主人; 对于iPhone来说,它一直在通过终端控制器涟漪,而在iPad上,它只将标签保留在主控器中(即横向右侧的分割,纵向的弹出式).



6> Sara..:

在这里从马的嘴里拿出一个方法:

http://developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/CombiningViewControllers/CombiningViewControllers.html#//apple_ref/doc/uid/TP40007457-CH104-SW2

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有