Ios 未调用UITableView标题ForHeaderInSection

Ios 未调用UITableView标题ForHeaderInSection,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我将tableview添加到视图控制器,然后尝试在IOS 6.0中更改其节标题 每次调用特定函数时,我都会更改标题字符串,因此我不想处理(UIView*)tableView:(UITableView*)tableView视图forheaderinsection:(NSInteger)节 我试图使用(NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section,但当我放置断点时,我发现它

我将tableview添加到视图控制器,然后尝试在IOS 6.0中更改其节标题

每次调用特定函数时,我都会更改标题字符串,因此我不想处理
(UIView*)tableView:(UITableView*)tableView视图forheaderinsection:(NSInteger)节

我试图使用
(NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section
,但当我放置断点时,我发现它没有被调用

在.h文件中,我添加了UITableViewDelegate,UITableViewDataSource

英寸


我做错了什么

我认为这可能是因为您应该只使用以下两个选项中的一个:
viewForHeaderInSection
titleForHeaderInSection
您缺少
self.meetingList.datasource=self

请记住,viewController必须实现UITableViewDelegate和UITableViewDataSource

YourClass : UITableView <UITableViewDelegate, UITableViewDataSource>
YourClass:UITableView
你必须这样做

self.meetingList.dataSource=self;

在视图中出现。

Re:我做错了什么

我不确定是否在Interface Builder中的视图控制器上设置数据源和委托。但我相信有一个逻辑错误会影响预期的结果

标题标题部分: 向数据源询问表视图指定部分的标题

同时

tableView:ViewForHeaderIn部分: 要求代理在表视图的指定部分的标题中显示视图对象

后一种方法是为titleForHeaderInSection定义的重写行为。这样想吧;您有一个标题空间,可以保存标题或您创建的用于替换默认标题(title)的自定义视图。您通过实现第二个方法告诉编译器使用自定义视图。要修正此注释或删除tableView:ViewForHeaderInstruction:方法,或更改逻辑,以便更新传递到该方法的自定义视图中的标题。在这一点上,应该正确地点击HeaderInSection的标题


如果成功解决了你最初的问题,请考虑接受这个答案。

< P>我知道这个线程有点老了,但是要确保你也有:

-(CGFloat)表格视图:(UITableView*)表格视图头部高度部分:(NSInteger)部分{


tableview需要知道高度才能抓取视图。

此外,您不需要同时实现这两个功能

(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

如果您至少要实现一个方法,那么

- (NSString*)tableView:(UITableView *)tableView  titleForHeaderInSection:(NSInteger)section

不会被调用。

您的答案有一半是正确的。谢谢,我试图更新您的答案,但如果没有足够的声誉,我无法更新。查看您的代码……为什么要同时使用ViewForHeaderSection和title ForHeaderSection?您正在ViewForHeaderSection中设置标题……您可以同时实现这两个功能。在ViewForHeaderSection中ion我假设您有一个UILabel(它保存您用于标题的任何字符串)。只需通过调用TitleForHeaderSection来设置该字符串:两个世界中最好的。当然,您可以同时实现这两个。但是如果您有ViewForHeaderSection,则不会调用TitleForHeaderSection。完全错误。它们都将按已知顺序被调用,事实上这是一个非常合理的操作-例如,在
titleFor
然后在
viewFor
中调整其外观。显然,您可以自己从
ViewForHeaderSection
调用
TitleForHeaderSection
,但表视图不会自动调用它。matt“已知顺序”是什么?从第一个返回到第二个的原因是什么?您可以导入lement heightForHeaderInSection,只需确保高度足够。另一方面,viewForHeaderInSection表示要用自己的自定义视图替换默认样式标题。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
- (NSString*)tableView:(UITableView *)tableView  titleForHeaderInSection:(NSInteger)section