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
}
}
它对我有用
我正在开发一个使用 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
}
}
它对我有用