[英]Is there a delegate method or other standard approach for facilitating editing of custom UITableView cells?
这听起来像是一个奇怪的问题,但是我没有设法在任何Apple文档,有关该主题的在线文章或我正在使用的各种第三方解决方案(例如Realm)的示例代码中找到答案,因此如果有iOS开发方面的经验的人可以帮助我解决这个问题,我将不胜感激。
在Apple自己的文档中的所有UITableView教程,文章和示例代码段中,当UITableViewCell的内容更改时,唯一且唯一展示的执行某些操作的方法是借助以下委托方法:
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
但是,似乎此方法仅适用于默认的UITableViewCells(而不是具有自定义元素的自定义原型单元,如UITextFields和UIImages等自定义元素),并且依赖于使用默认的删除/添加按钮...除非我弄错了,我非常很好。
所以我的问题是:此方法是否还可以用于使用其他元素(如UITextFields)的自定义原型单元?
还是有其他方法可以解决?
还是实际上是对所有内容进行自定义编码的问题,例如,单元格中自定义文本字段的退出结束IBAction是否结束?
还是我完全吠叫了错误的树,并且需要研究需要设置的某种通知服务?
我只是无法撼动这种感觉,因为我缺少使用自定义表格单元格的一些小而极其重要的方面,因此任何见解将不胜感激。
TL; DR:需要知道是否存在用于检测对自定义表格单元格的所有可能更改的方法或标准/通用方法,例如,当编辑并提交该单元格的自定义文本字段中的文本时,何时删除该单元格,当添加一个单元格时。
您发布的editingStyle
委托可用于自定义UITableViewCell
,主要用于删除。 但是 , 无论如何 , Ray Wenderlich网站上有一个很棒的教程 ,向您展示了如何根据自己的需要“伪造”相同的行为,以防您需要添加新按钮并提供更多功能。 您还可以设置自定义视图并设置各种操作。 (查看此帖子)。
捕获事件(如对UITextFields
或UIButton
或UITextView
或此类事件的唯一方法是为相关事件(如textFieldDidBeginEditing
设置适当的delegate
方法,或为UIButton
添加selector
(即使它存在于UITableViewCell
。 您将必须通过将有问题的UIView
标签设置为indexPath.row
或找到的其他逻辑来管理识别哪个特定单元格被indexPath.row
。 (除了使用UITableViewController
之外,该UITableViewController
允许您直接为特定的UIButton
创建出口或IBAction
。)
希望这能回答您的查询!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.