ios – 在UITableView中只调用一次viewForHeaderInSection

ios – 在UITableView中只调用一次viewForHeaderInSection,第1张

概述虽然我确信这是一件非常简单的事情,但我已经筋疲力尽了谷歌. 我正在尝试创建一个UITableView,表示25个(比方说)对象,每个对应25个部分,每行1行. 我正在创建的自定义单元格显示正常(所有25个,按正确顺序).我想在每个对象上方显示一个节头视图. 问题是只显示了一个节标题视图(第一个). 明智的NSLogging告诉我,只有一次调用viewForHeaderInSection,尽管每个对 虽然我确信这是一件非常简单的事情,但我已经筋疲力尽了谷歌.

我正在尝试创建一个UItableVIEw,表示25个(比方说)对象,每个对应25个部分,每行1行.

我正在创建的自定义单元格显示正常(所有25个,按正确顺序).我想在每个对象上方显示一个节头视图.

问题是只显示了一个节标题视图(第一个).

明智的NSLogging告诉我,只有一次调用vIEwForheaderInSection,尽管每个对象调用heightForheaderInSection 2x.我从numberOfSectionsIntableVIEw返回25,从numberOfRowsInSection返回1.

我通过执行UIVIEw * headerVIEw = [[UIVIEw alloc] initWithFrame:CGRectMake(0,320,vIEwHeight)]然后添加UILabel和UIbutton在vIEwForheaderInSection中构建UIVIEw.我不是UItableVIEwheaderfooterVIEw的子类.不确定这是否有所不同.

有任何想法吗?

相关代码:

部分和行数:

- (NSInteger)numberOfSectionsIntableVIEw:(UItableVIEw *)tableVIEw{    return [self.objects count];}- (NSInteger)numberOfRowsInSection:(NSInteger)section{    return 1;}

行的高度和单元格:

- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath{    return 390;}- (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw         cellForRowAtIndexPath:(NSIndexPath *)indexPath                        object:(PFObject *)object{    static Nsstring *CellIDentifIEr = @"CustomCell";        CustomCell *cell = (CustomCell *)[tableVIEw dequeueReusableCellWithIDentifIEr:CellIDentifIEr];    // add custom content to cell    return cell;}

标题的高度和视图:

- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForheaderInSection:(NSInteger)section{    return 60;}- (UIVIEw *)tableVIEw:(UItableVIEw *)tableVIEw vIEwForheaderInSection:(NSInteger)section{    NSLog(@"in vIEwForheaderInSection %ld",(long)section); // I only see this once    NSLog(@"return vIEw for section %ld",section);         // this is 0 when I see it    // gather content for header    UIVIEw *headerVIEw = [[UIVIEw alloc] initWithFrame:CGRectMake(0,vIEwHeight)];    // add content to header (displays correctly)    return headerVIEw;}
解决方法 虽然为时已晚.经过30分钟的战斗,我在xCode 8.1中找到了解决方案.我把它放在其他可能有帮助的地方.

//添加了波纹管委托方法后,我发现这个被多次调用

- (CGfloat)tableVIEw:(UItableVIEw*)tableVIEw heightForheaderInSection:(NSInteger)section {   return 30.0;}
总结

以上是内存溢出为你收集整理的ios – 在UITableView中只调用一次viewForHeaderInSection全部内容,希望文章能够帮你解决ios – 在UITableView中只调用一次viewForHeaderInSection所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存