0

我正在尝试构建一个应用程序,在打开时您会看到一个包含多个元素的表格视图。单击一个元素后,您将被带到一个新视图,它是一个标签栏控制器。我已经创建了一个导航控制器作为我的根视图控制器,我想弄清楚的是我是否需要将根视图控制器的功能从导航控制器元素传递给标签栏控制器?然后标签栏控制器完成工作?我一直在阅读

开始 iPhone 4 开发:探索 IOS SDK [书] David Mark、Jack Nutting、Jeff LaMarche

第 7 章给出了如何使用标签栏控制器的一个很好的例子,但是如何将导航控制器的功能传递给我正在使用的标签栏控制器呢?

4

1 回答 1

1

您可以在根目录和标签栏控制器之后使用导航控制器,如下所示:-

这是您的应用程序代表的 .h 文件:-

@interface NavTabDemoAppDelegate : NSObject <UIApplicationDelegate>
{
   IBOutlet  UINavigationController *navController;
    IBOutlet UITabBarController *TabBar;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@property (nonatomic, retain) IBOutlet  UINavigationController *navController;
@property (nonatomic, retain) IBOutlet UITabBarController *TabBar;

这是你的应用程序代表的 .m 文件

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [self.window addSubview:navController.view];
    [self.window makeKeyAndVisible];
    return YES;
}

将导航控制器和标签栏控制器从库拖放到主 window.xib 并将出口设置为应用程序委托

在 yr tableview 视图控制器的 .h 文件中,创建 yr 委托的对象,如下所示

NavTabDemoAppDelegate *appdelegate;

在 viewdidload 的 yr tableview 控制器的 .m 文件中

appdelegate = [[UIApplication sharedApplication] delegate];

只需在 tableview 视图控制器的 DidSelectRowAtIndexPath 上写这个

[self.navigationController pushViewController:appdelegate.TabBar animated:YES];

完毕!

于 2011-10-10T04:41:57.423 回答