RATreeView 的扩展子视图位置

Expanded child view position of RATreeView

我正在开发一个使用 RATreeView 的项目。我已经成功 实施了它。但我的问题是当我展开单元格时,我的子单元格第一次没有正确显示。第二次点击后完美显示。

请访问 this 以获得更好的想法。

这是我的自定义表格视图单元格的代码

func setup(title: String, icon: UIImage, level : Int,isChild:Bool) {
        self.title.text = title
        self.icon.image = icon

        if isChild{
            let left = 50.0 + 20.0 * CGFloat(level)

            let tFrame = self.title.frame
            let iFrame = self.icon.frame

            self.title.frame = CGRectMake(left, tFrame.origin.y, tFrame.width, tFrame.height)
            self.icon.frame = CGRectMake(left-25, iFrame.origin.y, iFrame.width, iFrame.height)


        }
    }

这里是每个单元格的代码

func treeView(treeView: RATreeView, cellForItem item: AnyObject?) -> UITableViewCell {
        let cell = treeView.dequeueReusableCellWithIdentifier("TreeCell") as! TreeTableViewCell
        let item = item as! ExpandableItems

        let level = treeView.levelForCell(cell)

        cell.setup(item.name, icon: item.icon!, level: level,isChild: item.isChildren)


        return cell
    }

请帮助我。我还想更改单元格的默认选择颜色。

好吧,我会回答我的问题...可能对其他人有用。

我已将一些代码添加到我的自定义单元格 class,如下所示

 var level = 0
    override func layoutSubviews() {
        super.layoutSubviews()

        if level > 0 {
            let left = 40.0 + 20.0 * CGFloat(level)

            var iFrame = self.icon.frame
            var tFrame = self.title.frame

            iFrame.origin.x = left-25
            tFrame.origin.x = left

            self.title.frame = tFrame
            self.icon.frame = iFrame
        }
    }

它对我有用