【发布时间】:2017-06-21 18:39:57
【问题描述】:
我的自定义 UITableViewCell 中有 2 个按钮,一个用于添加已选择项目的 x1 数量,另一个用于减去 x1。如何为自定义类中的按钮设置 IBAction,以便能够修改整个页面中的元素并修改我的 View Controller 类中的值?解决这个问题的最佳方法是什么?
我附上了我的故事板的图像。
【问题讨论】:
标签: ios swift uitableview uibutton
我的自定义 UITableViewCell 中有 2 个按钮,一个用于添加已选择项目的 x1 数量,另一个用于减去 x1。如何为自定义类中的按钮设置 IBAction,以便能够修改整个页面中的元素并修改我的 View Controller 类中的值?解决这个问题的最佳方法是什么?
我附上了我的故事板的图像。
【问题讨论】:
标签: ios swift uitableview uibutton
在你的cellForRow函数中,以这种方式添加按钮监听器
cell.plusBtn.addTarget(self, action: "plusBtnClicked:", for: .touchUpInside)
cell.minusBtn.addTarget(self, action: "minusBtnClicked:", for: .touchUpInside)
然后接听电话
func plusBtnClicked(_ sender: AnyObject?) {
score += 1
self.tableView.reloadData()
}
func minusBtnClicked(_ sender: AnyObject?) {
score -= 1
self.tableView.reloadData()
}
【讨论】:
您有多种选择。
一种是使用NSNotificationCenter。您可以添加任何需要 +1 / -1 警报的对象作为观察者,以便通过更新表格视图单元格知道的数量来获得警报。
另一个是以编程方式将动作添加到按钮,以 VC 作为目标,触发其选择器,因此按钮不会触发 TableViewCell 上的动作,它们会直接在需要触发的对象上触发动作处理它,而不是那些等待间接通知的对象。
【讨论】: