具有导航控制器和FlipSide上的表视图的实用程序

时间:2010-12-28 12:29:30

标签: iphone objective-c

我对整个MVC看待事物的方式相对较新。

我有一个基于“Utility”应用程序模板的应用程序。 MainView和FlipsideView中的所有内容都运行良好,但现在我需要在反面添加TableView和导航控制器。没有导航栏在MainView上。

因此,只有当用户点击信息灯按钮后,导航栏才会在桌面视图中显示。 我已经能够在侧面实现表视图并使用数组中的数据填充它。 我现在正努力在导航控制器中进行链接,以便tableview可以变为交互式。 当我将导航条形码放入应用程序委托时,它将显示在MainView而不是翻转视图上。

我在哪里放置导航条形码,使其显示在侧视图上。我似乎无法将代码放在正确的位置。 另外我不确定我是否有正确的代码,我是否将UINavigationController代码放在FlipSideViewController.m中?

我认为我并没有完全理解naivgation控制器的概念。 。

以下是调出FlipView的代码

- (IBAction)showInfo 
{    
 TableViewController *controller = [[TableViewController alloc] initWithNibName:@"TableViewController" bundle:nil];
 controller.delegate = self;
 controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
 [self presentModalViewController:controller animated:YES];

 [controller release];

}

现在我需要让TableViewController具有导航控制器和表视图

提前致谢。

1 个答案:

答案 0 :(得分:7)

创建表视图控制器后,创建一个包含此表视图控制器的导航控制器作为根。然后,以模态方式显示此导航控制器,而不是表视图控制器。

我更喜欢以编程方式执行此操作,因此这是我使用的代码:

- (IBAction)showInfo 
{
    TableViewController *controller = [[TableViewController alloc] initWithNibName:@"TableViewController" bundle:nil];
    controller.delegate = self;

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
    [controller release];

    navController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:navController animated:YES];
    [navController release];
}

在表格视图控制器中,设置其导航项目以包含一个按钮,当点击该按钮时,会导致主视图控制器关闭模态导航控制器(从而翻转回自身)。