【问题标题】:Extra Gap coming between table top and table header top桌面和表头顶部之间的额外间隙
【发布时间】:2015-11-17 06:24:07
【问题描述】:

UITableView 有问题。

第一次到达屏幕时会出现此间隙。一旦我们从下一个屏幕返回,它就会正常。 我尝试了所有删除此空间的方法,但我无法做到这一点,除非我使用它。

self.membershipTable.contentInset = UIEdgeInsetsMake(-64, 0, 0, 0);

第一次显示时间间隔没问题,但是当我们从下一个屏幕返回时,它显示底部的间隙。

Screenshot

当我检查子视图时,我发现表中有 5 个子视图,包括页眉和页脚。我附上日志。请检查一下,让我知道为什么会出现这个问题。对于其他表,一切都很好。

sudhir_table ;层 = ;内容偏移:{0, 0};内容大小:{320, 128}> 2015-11-17 11:50:50.019 [3054:65135] sudhir_table > 2015-11-17 11:50:50.019[3054:65135] sudhir_table > 2015-11-17 11:50:50.020[3054:65135] sudhir_table > 2015-11-17 11:50:50.020[3054:65135] sudhir_table >

【问题讨论】:

    标签: ios objective-c uitableview


    【解决方案1】:

    我认为您没有使用正确的方法来创建页眉和页脚的高度, 将此代码用于标题高度...

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
     {
        return 0.002f;// set this...
     }
    

    这个也可以用。

    self.membershipTable.contentInset = UIEdgeInsetsMake(-20.0f, 0.0f, 0.0f, 0.0f);
    

    您应该使用 -64.0f 而不是 (-64, 0, 0, 0),必须在每个值的末尾添加 .0f。

    【讨论】:

    • 除了理论差异之外,它对 64.0f 和 64 有何影响,因为它给了我相同的结果,并且我使用了您指定的方法来修复标题视图的高度。但仍然出现问题。
    • - (void)viewDidLoad { [super viewDidLoad]; self.membershipTable.contentInset = UIEdgeInsetsMake(-64.0f, 0, 0, 0); self.membershipTable.backgroundColor=[UIColor redColor]; self.membershipTable.frame=CGRectMake(5,0, [[UIScreen mainScreen]bounds].size.width-10, [[UIScreen mainScreen]bounds].size.height-114); } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 0.005f; } - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return 0.005f; }
    猜你喜欢
    • 2012-02-11
    • 2017-09-25
    • 1970-01-01
    • 2018-03-22
    • 2016-09-30
    • 1970-01-01
    • 2020-11-01
    • 2012-05-21
    • 2016-09-27
    相关资源
    最近更新 更多