如何在 swift 3 中为 UITable 视图提供单元格缩进级别?

Posted

技术标签:

【中文标题】如何在 swift 3 中为 UITable 视图提供单元格缩进级别?【英文标题】:how to give cell indentation level for UITable view in swift 3 ? 【发布时间】:2017-08-24 06:57:32 【问题描述】:

我有从模型类获得的 Web 服务数据,以及如何在不使用外部库的情况下将数据发送到具有缩进级别的表格视图单元格,并且需要如下图所示显示

【问题讨论】:

可能是三种细胞? 引用here 我需要最多三个级别@xxi 1.根据您的级别创建不同的单元格。 2.如果除了左边距之外一切都一样,也许你可以简单地设置前导约束?或者做一些隐藏/显示设置 我们不是来当你的老师的。阅读书籍、教程、Apple 文档……然后回来。 【参考方案1】:

我认为三种细胞的方式不会让你感到困惑

所以这是第二种方法

class TableViewCell: UITableViewCell 
    @IBOutlet var theLabel: UILabel!
    @IBOutlet var leftConstraint: NSLayoutConstraint!

在一些 VC 中,我认为这是最简单的方法

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    let cell = tableView.dequeueReusableCell(withIdentifier: "testCell", for: indexPath) as! TableViewCell
    // let arr = [1, 2, 2, 3, 3, 2, 1, 1, 2, 3]
    let order = self.arr[indexPath.row]
    switch order 
    case 1: cell.leftConstraint.constant = 10
    case 2: cell.leftConstraint.constant = 30
    case 3: cell.leftConstraint.constant = 50
    default: break
    

    cell.theLabel.text = "I'm level\(order)"
    return cell

【讨论】:

我得到一个动态数组,它是子数组,其中的产品数组会增加或减少,然后它将如何适合@xxi 父级将是单身,但子级和产品数组会增加或减少,并且可能在当时某些字典中不存在它会起作用或不起作用@xxi 好吧....很难说如何,因为我不知道你的数组是什么样子的,我只是演示一个简单的方法。如果您认为这种方法可能有效,那么您只需要找到一种方法来定义您的单元级别并设置约束,就像上面的代码一样 这个的api是json-generator.com/api/json/get/cwqUAMjKGa?indent=2 你可以用这样的代码设置单元格的缩进级别,cell.indentationLevel = 10

以上是关于如何在 swift 3 中为 UITable 视图提供单元格缩进级别?的主要内容,如果未能解决你的问题,请参考以下文章

UITable 视图项有时会在选择时消失(取决于屏幕大小)

向上滚动 UITable 后的 Swift 5 调用函数

在单独的类中为 FXBlurView 获取 UIView

如何在 iOS 中为 Swift 3/4 移除 UIPageViewController 弹跳效果

如何在 Collection 视图中为每个单元格添加 edgeInsets -Swift

如何在 swift 中为 ios 的 google maps sdk 中的地图视图添加标记