使用页脚的UITableView底部的不需要的水平线

时间:2012-03-02 14:47:16

标签: iphone uitableview ios5 footer

我有一个用UITableViewStyleGrouped初始化的UITableView。它包含一个组和一个页脚。我在页脚前面经历了不需要的水平线条,以获得页脚的高度。如果我将页脚设置为隐藏,则线条(和页脚)会消失。在以下示例中,页脚高度设置为144px。我已经看到这个问题的例子,设置一个透明的页脚修复了问题,但是我不能使用这个hack,因为我需要一个页脚。

以下是两个例子。两者都使用单个部分和页脚:

enter image description here

enter image description here

页脚非常简单:

-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    //Footer
    UIView *footer = [[UITableView alloc] init];
    [footer.layer setBorderColor: [[UIColor clearColor] CGColor]]; //Has no effect
    [footer.layer setBorderWidth:0]; //Has no effect
    //[footer.layer setHidden:YES]; //Hides entire footer and lines
    footer.backgroundColor = [UIColor clearColor];
    UIButton *button = [ComponentFactory makeForgottenPasswordButton];
    [footer addSubview:button];
    return footer;
}

我尝试在表格视图中隐藏分隔符:

self.tableView.separatorColor = [UIColor clearColor]; //Has no effect
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; //Has no effect
self.tableView.backgroundColor = [UIColor clearColor];

章节和行:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
  // Return the number of sections.
  return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return 2;
}

他们来自哪里,如何隐藏他们?

1 个答案:

答案 0 :(得分:0)

所以我会检查两件事:

1)tableView的背景颜色是什么?

2)您通过数据源提供了多少部分?

关于(1),分组式UITableView的默认背景是您看到的背景。例如,在iPhone上加载“联系人”应用并选择联系人。您将在上面显示的背景上看到各个部分被分解。如果你想要其他颜色,请在tableView的.backgroundColor属性中提供UIColor或其他颜色。

UPDATE:看起来你有“细胞分离器”的原因实际上是因为你没有提供正确的细胞高度,所以你的文本基本上会流入下一个细胞。尝试将单元格高度设置为75.0,然后查看是否能解决您的问题。 75可能太大了,但它应该得到重点。