带有导航控制器和 FlipSide 上的表格视图的实用应用程序
Posted
技术标签:
【中文标题】带有导航控制器和 FlipSide 上的表格视图的实用应用程序【英文标题】:Utility App with Navigation Controller and Table View on FlipSide 【发布时间】:2010-12-28 12:29:30 【问题描述】:我对整个 MVC 看待事物的方式相对较新。
我有一个基于“实用程序”应用程序模板的应用程序。 MainView 和 FlipsideView 中的所有内容都运行良好,但现在我需要将 TableView 和 Navigation Controller 添加到另一面。 MainView 上没有导航栏。
因此,只有在用户点击信息灯按钮后,导航栏才会显示在背面,并带有表格视图。 我已经能够在侧面隐含表格视图并用数组中的数据填充它。 我现在正在努力链接导航控制器,以便表格视图可以交互。 当我将导航条码放入应用程序委托时,它会出现在 MainView 而不是反面视图上。
我在哪里放置导航条码,以便它显示在翻转视图上。我似乎无法将代码放在正确的位置。 另外我不确定我是否有正确的代码,我是否将 UINavigationController 代码放在 FlipSideViewController.m 中?
我认为我没有完全理解导航控制器的概念。 . .
这是调出 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】:创建表视图控制器后,创建一个包含此表视图控制器作为根的导航控制器。然后,以模态方式显示此导航控制器,而不是您的表格视图控制器。
我更喜欢以编程方式执行此操作,所以这是我使用的代码:
- (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];
在您的表格视图控制器中,将其导航项设置为包含一个按钮,当点击该按钮时,会导致您的主视图控制器关闭模态导航控制器(从而返回到自身)。
【讨论】:
@wdt:不客气!如果您对我的回答感到满意,请务必点击上面的复选标记将其接受。 好吧,我又卡住了,叫我菜鸟!现在我在那里有了导航控制器。我不能用吗?如何使用我创建的导航控制器。我通常会通过插座使用导航控制器,但在这种情况下它不起作用。如何调用从 TableViewController.m 创建的导航控制器 您可以创建一个非插座属性,然后将该属性设置为您的导航控制器。以上是关于带有导航控制器和 FlipSide 上的表格视图的实用应用程序的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 7 上的导航视图控制器上使用后退手势时,表格视图单元格上没有淡出和淡入动画