所以我想要一个表格单元格中的签名视图。显然,每当有人试图在单元格中绘图时,表格会滚动。
如果用户在签名框中书写,我将如何停止滚动?
答案 0 :(得分:3)
我找到了更好的解决方案,而不是按钮。在viewController中实现委托方法,
class mainVC: UIViewController,YPSignatureDelegate {
将签名视图的委托设置为此视图控制器
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "SignatureCell", for: indexPath) as! SignatureCell
cell.signatureView.delegate = self
return cell
}
然后添加这些代码。这是YPSignature的两位代表。添加主视图控制器
func didStart() {
tableView.isScrollEnabled = false
}
// didFinish() is called rigth after the last touch of a gesture is registered in the view.
// Can be used to enabe scrolling in a scroll view if it has previous been disabled.
func didFinish() {
tableView.isScrollEnabled = true
}
答案 1 :(得分:1)
我会用一个覆盖单元格的按钮解决这个问题,当用户点击它时,单元格会显示YPDrawSignatureView。在显示签名视图之前,禁用滚动:
tableView.scrollEnabled = false
稍后当您保存签名时,通过将scrollEnabled设置为 true 来再次启用滚动。
答案 2 :(得分:1)
我添加了一个uitableview和自定义单元格。其中一个自定义单元格在signatureView顶部包含一个按钮(例如addSignatureButton)。
我使用委托方法在uitableviewcell和uiviewcontroller之间进行通信。将委托添加到UITableViewCell以通知是否轻触addSignatureButton。点击后,将隐藏addSignatureButton,可以看到signatureView并禁用tableview的滚动。当用户完成添加签名时,隐藏了signatureView,可以看到addSignatureButton并启用了tableview滚动。
https://github.com/alvinvgeorge/DrawSignatureOnTableViewCell