如何将静态UITableView设置为UIView的子视图?

当我使用TableViewController我能够在故事板中设置我的所有内容。 由于我在表格视图中使用静态单元格而不是动态属性 ,因此我觉得这种方法更方便,更容易实现。 我挂钩新的UITableView类,只需删除所有委托方法。 像故事一样工作,因为所有内容/按钮都在故事板中设置。

我试图完成相同的结果,除了这次,我必须在ViewController工作并添加TableView作为子视图。 一旦我连接了正确的类,添加我的sockets连接并设置以下代理:

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 3; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"MainCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; return cell; } 

如果我的TableView设置为动态属性,这很有效在此处输入图像描述

但是,当我将表格视图内容更改为静态单元格并删除委托方法时,我的应用程序崩溃了。 那么,如何将静态单元格 (我可以在故事板中操作)的表格视图添加到我的ViewController

这是你可以做的。 在故事板中,创建一个包含所有非tableview视图的父视图控制器,创建一个UITableViewController。 在父视图控制器中,创建容器视图,删除它自动添加的视图控制器,右键单击并从容器视图拖动到UITableViewController以创建嵌入segue。 您的最终结果应如下所示:

在此处输入图像描述

据我所知,你不能直接这样做。 至少在iOS 6中,使用静态单元格时必须使用UITableViewController。 在UIViewController中使用静态表视图的一种方法是在IB中添加容器视图,并使嵌入式控制器成为表视图控制器(删除自动获取的UIViewController,拖入UITableViewController,并将其与嵌入器连接起来Segue公司)。 您可以通过实现prepareForSegue:sender:和使用destinationViewController属性(将指向表视图控制器)从UIViewController获取对此表视图控制器的引用。

你还需要做几件事:
添加到@interface声明中。
然后,您也可以在Interface Builder中设置它们。
实现cellForRowAtIndexPath并调用dequeueReusableCellWithIdentifier方法以返回单元格。

对不起我错了。 事实是,如果没有UITableViewController你就无法使用静态单元格。 抱歉。

解决方案可能是您创建两个控制器,只需将表视图控制器的view添加到其他视图控制器。