节与其标题之间的 UITableView 空间
Posted
技术标签:
【中文标题】节与其标题之间的 UITableView 空间【英文标题】:UITableView space between section and its header 【发布时间】:2014-03-22 17:22:00 【问题描述】:我正在使用带有 2 个部分的 UITableView
,并且我为每个部分标题保留了一个特定宽度,如下所示:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
if (section==0)
return 45;
if (section==1)
return 20;
return 0;
这里也是viewForHeaderInSection
委托方法
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
UILabel *lbl = [[UILabel alloc] init];
lbl.textAlignment = NSTextAlignmentCenter;
lbl.font = [UIFont fontWithName:@"AmericanTypewriter-Bold" size:15];
lbl.textColor = [UIColor orangeColor];
lbl.shadowOffset = CGSizeMake(0,1);
lbl.alpha = 0.9;
lbl.textAlignment = NSTextAlignmentLeft;
if(section == 0)
lbl.text =[LocalizationSystem get:@"Share_Today_times" alter:@""];
if(section == 1)
lbl.text =[LocalizationSystem get:@"Share_Month_Times" alter:@""];
return lbl;
问题是第一部分和它的标题之间有一个空格,在其他部分中不存在,正如您在下图中看到的第二部分的标题之间没有空格,这显然出现在第一部分(带黑点的区域),有人知道如何解决这些问题吗?提前致谢
【问题讨论】:
您很可能在tableView:viewForHeaderInSection:
方法中遇到了偏移问题
已进行编辑
为什么你的第一个部分有 45 个,你的标签可能在那个部分的顶部。
如果我删除了 45 标签不会出现,它会上升!!
您没有为标签设置框架或约束。你试过用框架初始化它们吗?
【参考方案1】:
您是否尝试将 heightForHeaderInSection
方法的实现更改为
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
return 20;
原因可能是Share Today Prayers Time
部分的索引为 0,而您将其高度设置为 45 像素,而下一个部分的索引为 1,高度为 20,这显然不是您想要的。
【讨论】:
以上是关于节与其标题之间的 UITableView 空间的主要内容,如果未能解决你的问题,请参考以下文章