UITableViewController 和 NavigationController
Posted
技术标签:
【中文标题】UITableViewController 和 NavigationController【英文标题】:UITableViewController and NavigationController 【发布时间】:2009-04-11 10:50:07 【问题描述】:我在将 UITableViewController 推送到 NavigationController 时遇到问题。使用以下代码:
ProblemEditController *problemEditController = [[[ProblemEditController alloc] initWithNibName:@"ProblemEditController" bundle:nil] retain];
problemEditController.problem = [[Problem alloc] init];
[self.navigationController pushViewController:problemEditController animated:YES];
[problemEditController release];
导航控制器按预期工作,但是表格视图未显示。在我的 UITableViewController 上调用 numberOfSectionsInTableView,但未调用 numberOfRowsInSection 和 cellForRowAtIndexPath,并且视图显示为空白。
我有什么明显的遗漏吗?
编辑
我已经更改了 nib 文件中的某些内容(愚蠢地,不记得是什么),现在我看到 numberOfRowsInSection 正在被调用。
【问题讨论】:
【参考方案1】:好的,我发现我做错了什么。我在 nib 中添加了一个 TableViewController,而不仅仅是添加了一个表格视图。
我基本上搞砸了在 IB 中查看的连接。为了将来参考,这是自定义 UITableViewController 在 IB 中的样子:
alt text http://pix.im/files/134/scaled.jpg?1239453713
现在我觉得自己像个白痴。
【讨论】:
有时,我觉得 Interface Builder 是个障碍,因为 ios 库中的所有高级示例项目都以编程方式创建了许多控制器,因此有时很难弄清楚 nib 文件的位置存在于整个应用程序生命周期中。【参考方案2】:现在尝试在 **problemEditController* 上使用保留或释放。
这段代码对我来说很好用:
formationsController = [[FormationsController alloc] initWithNibName:@"Formations" bundle:nil];
[navigationController pushViewController:formationsController animated:YES];
【讨论】:
不幸的是,这不起作用-同样的问题。我不明白为什么调用 numberOfSectionsInTableView 函数时视图没有显示。 尝试使用 prensetModalViewController 显示视图,而不是推送它。看看有没有变化。 同样的事情 - 显示一个空白视图。 我已经更改了 nib 文件中的某些内容(愚蠢地,不记得是什么),我现在看到 numberOfRowsInSection 被调用了。 没有问题!祝你的项目好运。以上是关于UITableViewController 和 NavigationController的主要内容,如果未能解决你的问题,请参考以下文章
UIViewController 和 UITableViewController 有啥区别
Swift:UITableViewController - 修改 UITableView 和 View Controller 之间的边距
IOS 教你玩转UITableViewController和TableView