0

我正在尝试将 UITableView 嵌入到我的 ViewController 的主 UIView 中,它是屏幕宽度的 75%。理想情况下,此 UITableView 也将嵌入到导航控制器中。此外,我似乎无法在 iOS 5 中使用 UIContainerViews,因为我遇到错误“无法实例化名为 UIStoryboardEmbedSegueTemplate 的类”(参见NSInvalidUnarchiveOperationException 和 ContainerView)。

为此,我在 ViewController 的主 UIView 中创建了一个 UIView,它是屏幕宽度的 75%。在那个 UIView 中,我放置了一个 UINavigationBar 和一个 UITableView。我在 ViewController 的- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil函数中实例化 UITableViewController。实例化后,我将 ViewController 的 UITableView 连接到 UITableViewController 的 UITableView 通过self.tableViewController.tableView = self.tableView.

一切似乎都正常,除了我的 UITableView 没有显示任何单元格,即使我预先加载了数据。

我可以提供哪些额外数据来帮助诊断问题?我当然没有收到任何错误消息,数据源确实收到了数据,我[self.tableView reloadData]在数据源更新后调用。

更新 1

适用于 iOS 的 Chrome

最终,这是我想要的那种行为,除了我想要多个表视图而不是多个 Web 视图,每个表视图都嵌入在它自己的导航控制器中。我猜 Chrome for iOS 只是截取网页的屏幕截图(?),因为滚动标签时未启用交互,但如果你想保留交互,你会怎么做?

更新 2

特定的行似乎在CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]哪里static NSString *CellIdentifier = @"New Cell"(并且在 IB 中定义了适当的原型 UITableViewCell)。但是,代码似乎并没有在这一行崩溃;相反,似乎启动了Thread 1: Breakpoint 1.1一个我没有指定的断点()。此外,这只发生在我的 iOS 设备上进行测试时。通过 iOS 模拟器进行测试时一切正常。

4

2 回答 2

0

您的数据源方法需要在您的tableViewController(似乎您没有这样做)中实现。您必须将datasourcetableViewController 的属性设置为self并实现原始视图控制器(即self)中的方法。此外,您必须<UITableViewDataSource, UITableViewDelegate>在 @interface 声明中添加协议。

UITableViewController获得标准路由和子类来覆盖数据源方法不是更容易吗?

于 2012-10-24T07:21:19.777 回答
0

你好:对我与 iOS 5 v. iOS 6 如何处理自动布局有关的特定问题的最终答案,特别是关于 UITableViewCells(“Autoresize subviews”);cf.,自定义 UITableViewCells 可能在 iOS 6 中工作但在 iOS 5 中不能工作的一些原因是什么?

由于这个特定问题含糊不清,并且“答案”与我认为的问题无关,我应该投票删除它吗?

于 2012-11-26T18:24:45.553 回答