gpt4 book ai didi

ios - viewForHeaderInSection 在 UITableView 中只被调用一次

转载 作者:可可西里 更新时间:2023-11-01 04:38:43 29 4
gpt4 key购买 nike

我已经在这个问题上用尽了谷歌,但我确信它非常简单。

我正在尝试创建一个 UITableView,代表 25 个(比方说)对象,分为 25 个部分,每个部分 1 行。

我创建的自定义单元格显示正常(全部 25 个,顺序正确)。我希望在每个对象上方显示一个节标题 View 。

问题是只显示了一个部分标题 View (第一个)。

明智的 NSLogging 告诉我 viewForHeaderInSection 只被调用一次,尽管 heightForHeaderInSection 每个对象被调用 2 次。我从 numberOfSectionsInTableView 返回 25,从 numberOfRowsInSection 返回 1。

我通过执行 UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, viewHeight)] 然后添加 UILabel 和 UIButton 在 vi​​ewForHeaderInSection 中构建 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;
}

标题的高度和 View :

- (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, 0, 320, viewHeight)];
// add content to header (displays correctly)

return headerView;
}

最佳答案

虽然为时已晚。经过 30 分钟的战斗,我在 xCode 8.1 中找到了解决方案。我把它放在可能对其他人有帮助的地方。

//添加下面的delegate方法后,发现调用了多次

 - (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section 
{
return 30.0;
}

关于ios - viewForHeaderInSection 在 UITableView 中只被调用一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25563843/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com