我有一个UITableView(每行有一个名为CellModelAllNames
的Custom类)。每行都有一个标签和一个按钮。
我的问题是:当btn_addRecording
(即点击任意/每行的' +'按钮时,如何获取{{} 1}},显示标签名称,并在ViewController中显示弹出窗口。我想在弹出窗口中获取更多信息,然后将所有信息(包括lbl_name.text
)保存到数据库中。
每个行布局的CellModelAllNames :
lbl_name
这是我的ViewController的代码:
import UIKit
class CellModelAllNames: UITableViewCell {
@IBOutlet weak var lbl_name: UILabel!
@IBOutlet weak var btn_addRecording: UIButton!
@IBAction func btnAction_addRecording(sender: AnyObject) {
println("clicked on button in UITableViewCell")
}
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
func setCell(setBabyName: String) {
self.lbl_name.text = setBabyName
}
}
答案 0 :(得分:1)
您可以使用标准UIKit方法获取单元格及其数据:
func tappedButton(sender : UIButton) {
let point = sender.convertPoint(CGPointZero, toView: self.tableView)
let indexPath = self.tableView.indexPathForRowAtPoint(point)!
let name = arrayOfNames[indexPath.row]
// do something with name
}
答案 1 :(得分:1)
您可以在ViewController中添加按钮操作
1)在您的函数cellForRowAtIndexPath
中将按钮的tag
指定为index
(即indexPath.row)
cell.btn_addRecording.tag = indexPath.row
2)为按钮添加目标和操作:
cell.btn_addRecording.addTarget(self, action: "buttonPressed:", forControlEvents: .TouchUpInside)
3)在ViewControler中添加动作(即在数据库中保存信息)
func buttonPressed(button: UIButton!)
{
// Add your code here
let name = arrayOfNames[button.tag]
}