我有一个UITableView,大约有5个单元格(行)。每个单元格(行)都添加了三个UIButton作为相应单元格的子视图。
Row1: Button1 Button2 Button3 //所有这些按钮都有tag = row_number = 1
第2行: Button1 Button2 Button3 //所有这些按钮都有tag = row_number = 2
第3行: Button1 Button2 Button3 //所有这些按钮都有tag = row_number = 3
Row4: Button1 Button2 Button3 //所有这些按钮都有tag = row_number = 4
注意: 所有行的Buttons1都连接到同一个IBAction。 同样的, 所有行的按钮2都连接到相同的IBAction。等...... 我完全能够检测到单元格中按下了哪个按钮。我正在使用标签。
我想执行以下操作:
目前,我可以隐藏按下的第一个按钮,但如果之后按下同一行中的另一个按钮,则无法将其恢复。
请指导我如何实现这一点。
提前致谢。
答案 0 :(得分:0)
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CustomCell
// add a line for each one of the buttons
cell.btn1.addTarget(self, action: "handleButtonPressed:", forControlEvents: .TouchUpInside)
cell.btn2.addTarget(self, action: "handleButtonPressed:", forControlEvents: .TouchUpInside)
cell.btn3.addTarget(self, action: "handleButtonPressed:", forControlEvents: .TouchUpInside)
cell.btn4.addTarget(self, action: "handleButtonPressed:", forControlEvents: .TouchUpInside)
return cell
}
@IBAction func handleButtonPressed(sender:UIButton!)
{
switch sender.tag {
let button = sender as! UIButton
let view = button.superview!
let cell = view.superview as! custom cell
// cell.btn1 - will get here
//cell.btn2 - will get here
// do based on what on button action hide or show
case 0:
print(sender.tag)
case 1:
print(sender.tag)
case 2:
print(sender.tag)
case 3:
print(sender.tag)
default:
print("Tag was not found")
}
}