如何在UITableViewCells之间添加边距而不是Hacky

时间:2015-09-22 15:13:09

标签: ios swift uitableview cocoa-touch

我在这里看到的很多解决方案包括将单元格的背景更改为图像,并使用行的部分而不仅仅是行本身。我希望只有两个部分,并且每个单元都可以在高度上扩展,所以这些解决方案都不会起作用。

我看到一个解决方案包括在ReaderWriterLockSlim synchronizationLock = new ReaderWriterLockSlim(); public void MainMethod1() { synchronizationLock.EnterReadLock(); try { SubMethod1(); //Run on UI thread SubMethod2(); //Run on UI thread myBackgroundWorker.RunWorkerAsync(); } finally { synchronizationLock.ExitReadLock(); } } private void myBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { SubMethod3(); //Run on separate thread } 函数中设置单元格的框架,如下所示:

layoutSubviews()

但是,当我这样做时,它只给一个单元格提供边距,而且只有在我点击单元格时才有。

是否有一种可靠的方法可以在UITableViewCells之间添加间距而不会出现问题,并且会破坏过程中的单元格布局?

2 个答案:

答案 0 :(得分:4)

我昨天很容易通过自动布局做到这一点。

我设置了单元格的背景和内容视图以清除,然后我创建了一个新的视图并设置了它周围的约束并将我的标签放在其中。高度根据标签动态变化,因此我需要使用UITableViewAutomaticDimension作为行高,并给它一个估计的行高。

我不明白为什么这也不适用于在水龙头上扩展它,你可能不得不重新加载单元格。

答案 1 :(得分:1)

  1. 制作单元格,它的内容是透明的
  2. contentView addSubview customContentView并在customContentView上布置您的单元格
  3. customContentView引脚到contentView顶部前导跟踪偏移0但引脚到底部偏移量10 //边距高度