【问题标题】:How to achieve spacing between cells/margins?如何实现单元格/边距之间的间距?
【发布时间】:2016-06-08 12:52:46
【问题描述】:

如何自定义我的UITableViewCell 以获得这种外观? 我不想为我的UITableViewCell 使用自定义UIView

【问题讨论】:

  • 为什么不使用自定义 UIView?
  • @Fogmeister 有人编辑了原始问题 :) 我从未说过我不想使用自定义 UIView。我只是想知道它是否可能,没有自定义视图。
  • 好吧,不完全确定自定义 UIView 是什么意思。没有办法用布尔值或任何东西“打开它”。您将需要从 UIViews 和其他东西创建 UI。最简单的方法(就像我在回答中所说的那样)是创建一个 UITableViewCell 子类。
  • 你可以做到。只需创建一个 uiview 并设置图层阴影和边框半径等...尽管准备好对性能造成影响。它比使用图像要慢得多,我建议不要这样做。表格视图的滚动会明显卡顿。

标签: ios objective-c swift uitableview


【解决方案1】:

您需要为此创建一个UITableViewCell 子类。

单元格之间的间距并不是真正的间距。是假的。

每个单元格都有一个阴影图像,周围有一些背景。

您需要添加一个 UIView,然后它周围有一个阴影,并且从实际单元格的边缘插入。然后将单元格的内容添加到其中。

【讨论】:

    【解决方案2】:

    UITableViewCell 子类中添加这个:

    override func layoutSubviews() {
        contentView.frame = UIEdgeInsetsInsetRect(contentView.frame, UIEdgeInsetsMake(10, 10, 10, 10))
    }
    

    【讨论】:

      【解决方案3】:

      创建 UITableViewCell 的子类。

      添加一个视图并将所需的 UIElements 放置到它的 contentView 中。

      使 UIEgdeInset 达到你想要的程度。

      自定义视图颜色应该比单元格浅,然后它看起来就像你想要的。

      【讨论】:

        【解决方案4】:

        这完全取决于您如何设置UITableViewCell 的 XIB。

        UITableViewCell 中添加一个 UIView 作为 contentView 的子视图。将此 UIView 与其父视图 (contentView) 的尾随、前导、顶部和底部间距设置为 5 或您想要的任何值。将 contentView 的背景颜色设置为 Clear Color。将 UITableView 的 backgroundColour 设置为所需的颜色,contentView 的背景颜色为白色。

        你可以将 UIView 的 layer 的cornerRadius 设置为 5.0 来达到你图片中的圆角效果

        【讨论】:

          猜你喜欢
          • 2019-01-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-30
          • 1970-01-01
          • 1970-01-01
          • 2013-03-09
          相关资源
          最近更新 更多