我创建了一个原型单元格,我从数据库中获取数据以加载到表格中的单元格中。 每个单元格都有一个标签和3个按钮,如下所示:
如果我点击按钮例如"符合标准",如何识别我按下按钮的哪一行?
例如,当我按下"符合标准"在给定行的按钮我想将该行的背景颜色更改为红色。我该怎么办?
我有一个CustomCell.swift类,我配置原型单元格和TableView.swift类,我配置表格。
答案 0 :(得分:0)
尝试控制将按钮拖动到CustomCell.swift类并键入名称并在弹出菜单上选择“操作”。然后,在生成的方法中,您可以调用self.backgroundColor = UIColor.redColor()
或执行您喜欢的任何其他操作。
编辑:
以下是我认为你应该做的改变高度:
在您的单元格类中创建一个名为“expanded”的布尔值。然后,进入表视图类并实现heightForRowAtIndexPath
方法。在该方法中,检索单元格并检查它是否已展开,如果是,则返回更大的高度。现在,要重新加载,您需要在每个单元格中存储对表格视图的引用,如下所示:Reference from UITableViewCell to parent UITableView?
在你已经制作的点击方法中,背景设置为红色,你需要调用:
tableView.beginUpdates()
tableView.endUpdates()
其中tableview是您已存储的弱引用。此外,在该方法中,您当然需要添加self.expanded = true
。
编辑2:
你知道吗,也许这样做更容易:
weak var _tableView: UITableView!
...
func tableView() -> UITableView! {
if _tableView != nil {
return _tableView
}
var view = self.superview
while view != nil && !(view?.isKindOfClass(UITableView))! {
view = view?.superview
}
self._tableView = view as! UITableView
return _tableView
}