如何删除iOS TableView分隔符

时间:2015-10-22 11:30:10

标签: ios swift uitableview tableviewcell

您好,感谢您的阅读。

我已经尝试删除这些分隔符了一段时间,我可以删除它们很可怕。我在stackoverflow中尝试了很多答案,但没有人有帮助:/

问题在于:

UITableView Separator

我无法删除单元格之间的这些空格:s。

我试过了:

  • 将背景颜色更改为与单元格相同的灰色,但不起作用
  • 检查单元格大小
  • 将separatorStyle设置为UITableViewCellSeparatorStyle.None
  • 使用tableView返回正常高度(tableView:UITableView,heightForRowAtIndexPath indexPath:NSIndexPath) - > CGFloat的
  • 在主故事板中禁用分隔符

......我真的不明白如何移除这些空白......

抱歉我的英文,

由于

我添加了这个。现在您可以检查我的设置:(并且您可以看到分隔符被禁用)

Settings uitableview

8 个答案:

答案 0 :(得分:2)

您只需在属性检查器中更改此内容:

enter image description here

答案 1 :(得分:0)

试试这个tableView方法:

override func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat 
{
    return 0.00001
}

答案 2 :(得分:0)

试着希望这对你有所帮助。

目标C:

-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section
{
    return 0.1f;
}
-(UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section
{
    return [[UIView alloc] initWithFrame:CGRectZero] ;
}

斯威夫特:

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    return UIView(frame: CGRectZero)
  }

  override func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 0.1f
  }

答案 3 :(得分:0)

同样设置 tableviewcell 分隔符图像http://imgur.com/MbVA7pM

答案 4 :(得分:0)

快速隐藏表格视图分隔符

func tableView(tableView: UITableView!, willDisplayCell cell: UITableViewCell!, forRowAtIndexPath indexPath: NSIndexPath!) 
{
   cell.backgroundColor = UIColor.clearColor()
}

答案 5 :(得分:0)

试试这个:

func tableView(tableView: UITableView!, willDisplayCell cell: UITableViewCell!, forRowAtIndexPath indexPath: NSIndexPath!) {
    // Remove seperator inset
    if cell.respondsToSelector("setSeparatorInset:") {
        cell.separatorInset = UIEdgeInsetsZero
    }

    // Prevent the cell from inheriting the Table View's margin settings
    if cell.respondsToSelector("setPreservesSuperviewLayoutMargins:") {
        cell.preservesSuperviewLayoutMargins = false
    }

   // Explictly set your cell's layout margins
   if cell.respondsToSelector("setLayoutMargins:") {
       cell.layoutMargins = UIEdgeInsetsZero
   }
}

答案 6 :(得分:0)

好的我很抱歉,问题出在我的代码上,所以你无法回答我......

它在我的函数中:tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath) - > UITableViewCell

某处我想在我的手机上放一个边框,所以我写了:

var layer: CALayer = cell.layer
        layer.borderColor = UIColor.rgbaColor(red: 288, green: 83, blue: 88, alpha: 1).CGColor
        layer.borderWidth = 2

但是这段代码没有用,因为红色:288应该是红色的:188,所以我有一个白色边框而不是错误,我没有注意到......对不起,非常感谢你的帮助:)

答案 7 :(得分:0)

只需将页脚视图设置为空视图:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

因此对于空单元格,分隔符将消失(您仍然保留正常单元格的分隔符)。