【问题标题】:UITableView space between section and its header节与其标题之间的 UITableView 空间
【发布时间】: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 标签不会出现,它会上升!!
  • 您没有为标签设置框架或约束。你试过用框架初始化它们吗?

标签: ios objective-c uitableview


【解决方案1】:

您是否尝试将 heightForHeaderInSection 方法的实现更改为

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

原因可能是Share Today Prayers Time 部分的索引为 0,而您将其高度设置为 45 像素,而下一个部分的索引为 1,高度为 20,这显然不是您想要的。

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 2012-10-01
    • 2015-08-02
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多