我正在开发一个使用RATreeView的项目。我成功了 实施了它。但我的问题是,当我扩展细胞时,我的孩子细胞第一次显示不正常。第二次点击后,它显示完美。
请访问this以获得更好的信息。
这是我自定义tableview单元格的代码
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
}
请帮帮我。我还想更改单元格的默认选择颜色。
答案 0 :(得分:0)
我会回答我的问题......可能对其他人有用。
我在自定义单元格类中添加了一些代码,如下所示
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
}
}
它对我有用