如何重写tableView:titleForHeaderInSection:调整静态UITableViews的节标题?

我正在玩故事板和一个控制器,我build立了一个由两部分组成的UITableView 。 在这两节中,我都添加了几个静态单元。 但是,根据代码path,我想为我的两个部分显示不同的标题 。 由于没有源代码,也没有涉及委托,我该如何重写tableView:titleForHeaderInSection:

使用静态表视图,您可以(并且必须)仍然将数据源连接到UITableViewController。 关键是如果你实现了数据源方法,那么这将覆盖你在表格视图中设置的静态内容。 你可以重写titleForHeader而不会有任何问题,因为这是你想要做的。

 -(NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { if (section == 0) return @"HELLO!"; else { return [super tableView:tableView titleForHeaderInSection:section]; } } 

将静态表中第0部分的标题设置为HELLO!,覆盖xib中的标题集。 其余的都留在xib中。

关键是静态表的填充方式与dynamic表完全相同,只是UITableViewController实现了它自己的所有数据源方法。 这些方法可能会从xib文件中读取信息并将适当的信息发送回表视图。 如果你想要的静态内容,不要实现或调用超级。 如果你想要自己的内容,使用类似于上面的代码。

我有点困惑你的问题,也许我需要一些更多的信息。 你是说在故事板中有一个视图控制器,并将一个表视图对象拖到该视图控制器?

如果是这样的话,那么这个视图控制器将仍然可以是该表视图的数据源和委托

在你的.h文件中:@interface VIEWCONTROLLERNAME:UIViewController <UITableViewDataSource,UITableViewDelegate>

在你的.m文件中,你需要为每一个声明所需的方法:cellForRowAtIndexPath和numberOfRowsInSection(参考必要和可选消息的文档)以避免“不完整的执行错误”。 这也是你可以覆盖titleForHeaderInSection的地方。

并返回到故事板中,您可以右键单击表视图并将数据源和委托选项拖动到您的视图控制器(或在“连接检查器”选项卡中执行此操作)

如果这不是你所做的,请提供一些更多的信息。