gpt4 book ai didi

iphone - UITableView 自定义部分标题显示在单元格下方

转载 作者:行者123 更新时间:2023-11-28 17:47:51 24 4
gpt4 key购买 nike

我的 UITableView 中有一个自定义部分标题,但我无法弄清楚为什么它们出现在表格的 UITableViewCell 下方。查看屏幕截图:

UITableViewCell are above the section header

这是创建节标题的代码:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
if (sectionTitle == nil) {
return nil;
}

return [LojaInfoHeaderView lojaInfoHeaderForSection:section withTitle:sectionTitle opened:[self sectionIsOpen:section] andDelegate:self];
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return [LojaInfoHeaderView viewHeight];
}

当用户触摸节标题时,节的单元格被插入或删除:

- (void)lojaInfoHeader:(LojaInfoHeaderView *)lojaInfoHeader sectionDidOpen:(NSInteger)section {
NSArray *indexPathsToInsert = [self indexPathsForSection:section];
[self setSection:section open:YES];
[_tableView insertRowsAtIndexPaths:indexPathsToInsert withRowAnimation:UITableViewRowAnimationTop];
}

- (void)lojaInfoHeader:(LojaInfoHeaderView *)lojaInfoHeader sectionDidClose:(NSInteger)section {
NSArray *indexPathsToDelete = [self indexPathsForSection:section];
[self setSection:section open:NO];
[_tableView deleteRowsAtIndexPaths:indexPathsToDelete withRowAnimation:UITableViewRowAnimationTop];
}

如何使节标题显示在单元格上方?如何解决?

更新以显示事物的创建方式

这些是我正在使用的类方法:

+ (CGFloat)viewHeight {
return 44.0;
}

+ (LojaInfoHeaderView *)lojaInfoHeaderForSection:(NSInteger)section withTitle:(NSString *)title opened:(BOOL)isOpen andDelegate:(id<LojaInfoHeaderDelegate>)delegate {
LojaInfoHeaderView *newHeader = [[[LojaInfoHeaderView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)] autorelease];
newHeader.section = section;
[newHeader setTitle:title];
newHeader.delegate = delegate;
[newHeader setOpen:isOpen animated:NO];
return newHeader;
}

最佳答案

我发现了问题。我正在使用 alpha 设置 backgroundColor(是的,我不敢相信我错过了这个)。

initWithFrame 中的错误代码:

self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.1];

正确的代码:

self.backgroundColor = [UIColor colorWithRed:0.89 green:0.89 blue:0.89 alpha:1.0];

关于iphone - UITableView 自定义部分标题显示在单元格下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4354976/

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