在swift 2中的一个部分中的单元格之间添加空格

时间:2016-01-05 09:32:52

标签: ios swift spacing tableviewcell cellpadding

我需要添加填充,以便在swift 2.1中的每个部分的每个单元格之间留出空间

但我设法做的就是为我不想要的部分添加标题。

如何在动态表格单元格之间添加空格?

以下是添加标题的代码:

    // Set the spacing between sections
    override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 10
    }

    override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let header = UIView()
        header.backgroundColor = UIColor.clearColor()
        return header
    }

这是创建表视图代码:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}


override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.tableData.count
}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell  {

    //Table view cells are reused and should be dequeued using a cell identifier.
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)

    let rowData = self.tableData[indexPath.row]

    cell.textLabel!.text = rowData.name
    cell.textLabel!.textAlignment = .Right


    if let url  = NSURL(string: rowData.img),
        data = NSData(contentsOfURL: url)
    {
        cell.imageView?.image = UIImage(data: data)
    }



    return cell
    }

现在我的表格视图如下:

enter image description here

更新代码和表格视图:

enter image description here

6 个答案:

答案 0 :(得分:5)

表格视图中的单元格之间没有间距。仅在集合视图中。

您可以使用的选项是......

  1. 请改用集合视图。使它看起来像桌面视图相对容易。使用此选项可以使用项目间距。

  2. 将单元格的高度增加2个像素,并在每个单元格的顶部或底部添加一个空白区域。这会给人一种在它们之间增加空间的错觉。

答案 1 :(得分:2)

您应该只设置单元格高度:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
   return 100 //cell height
}

更新:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
   if indexPath.row % 2 == 0
   {
      return 100 //cell height
   }
   else
   {
      return 5 //space heigh
   }
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell  {

    //Table view cells are reused and should be dequeued using a cell identifier.
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)

    if indexPath.row % 2 == 0
    {
        let rowData = self.tableData[indexPath.row/2]

        cell.textLabel!.text = rowData.name
        cell.textLabel!.textAlignment = .Right

        if let url  = NSURL(string: rowData.img),
            data = NSData(contentsOfURL: url)
        {
            cell.imageView?.image = UIImage(data: data)
        }
        else
        {
            cell.imageView?.image = nil
        }
    }
    else
    {
        cell.textLabel!.text = nil
        cell.imageView?.image = nil
    }
    return cell
}

答案 2 :(得分:1)

您可以使用HeightForRowAtIndexPath或更改"行高"在你的tableView Xib中,大小为Inspector ...

或者您可以查看此链接以获取objective-c:https://stackoverflow.com/a/14726457/4489420 ...在此,它将根据您的数组计数创建部分...

答案 3 :(得分:0)

有两种方法可以增加身高

    在故事板中
  1. 选择您的tableview并在尺寸检查器

  2. 中设置rowHeight(您实施的更好套件)
  3. 在viewController中添加此功能

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat 
     { return 35;//Whatever height you want...}
    

答案 4 :(得分:0)

如果您使用动态高度... https://www.facebook.com/iOSApplicationDevelopers/posts/1297809426911662

,请选中此项

答案 5 :(得分:0)

表格视图单元格是连续的设计:没有"空间"两个连续的细胞之间;只有1点厚的分隔线(你可以取消)。

  • 可以添加"填充" (= 内部空间)每个单元格内部(即,让它们更高 - 请参阅其他答案),但
  • 不能添加"保证金" (= 外部空间)它们之间(这会在每个单元格之间给你两个分隔符,也许......?)。

集合视图单元格,另一方面, do 允许单元格之间有额外的空间。