ios - 无法添加一致的高度和填充。动态表格 View 单元格之间

标签 ios swift xcode dynamic tableview

我正在尝试实现一个表格 View ,其中的单元格左侧有产品图像,图像右侧列出了各种产品详细信息,例如价格、标题等,但是,我一直遇到问题在单元格之间设置适当的间距/填充。我希望每个单元格之间都有一些空白。这是一张图片,显示了我到目前为止所拥有的内容以及问题所在。

TableView

我使用 stackview 作为包含产品详细信息的标签的容器,并实现动态行高功能: self.tableView.rowHeight = UITableViewAutomaticDimension

一切似乎都工作得很好,除了 stackview 高度小于 imageview 高度。在这种情况下我无法显示间距。在过去的两天里我已经尝试了一切,这让我发疯。请放轻松,因为我是 Android 用户 :)

我想要的只是我希望表格 View 单元格的分隔符在 ImageView 或堆栈 View 的顶部和底部之间有一点空间(以较高/更高者为准)。

我附上了 Storyboard的 SS 以显示布局和约束。如果需要更多信息,请告诉我。

Storyboard

最佳答案

要为单元格添加一致的间距,更好的方法是将每个项目视为一个部分,因为您可以通过在部分之间创建标题 View 来轻松设置部分之间的间距。 因此,从逻辑上讲,如果您有 10 个对象,那么您将拥有 10 个部分,其中每个部分只有一行

1.每个部分只有一行

 func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }

2.节的数量等于项目的数量数组

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return array.count 
    }

3.设置间距/标题 View 的高度

 func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 10 
    }

4.创建标题 View 并对其进行自定义

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {      
       if let view = view as? UITableViewHeaderFooterView{
      view.backgroundView?.backgroundColor = UIColor.clearColor()
       }
}

关于ios - 无法添加一致的高度和填充。动态表格 View 单元格之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42878583/

相关文章:

javascript - 有没有一种方法可以将文件保存到设备(android 或 ios)内存,而无需在 Web 应用程序中使用phonegap File Api

ios - UIButton 自动调整 Button 字体大小 Swift

ios - 将核心图像过滤器 (CIBumpDistortion) 仅应用于图像的一部分 + 更改选择半径和 CIFilter 的强度

Swift SpriteKit 在 x 轴旋转节点

ios - 为什么我的 .storyboards 在 Xcode 11.1 中变红了?

ios - iOS 中的 Xcode 类名不带应用程序名称前缀

javascript - 检测浏览器/设备是否支持双击事件

ios - 定义后立即调用 block

autocomplete - sqrt(Double) 和 sqrt(x :Double)

swift - 客户端的 Xcode 8 导出存档