iOS - 使 UITableView 与自定义单元格在按钮单击时可编辑
Posted
技术标签:
【中文标题】iOS - 使 UITableView 与自定义单元格在按钮单击时可编辑【英文标题】:iOS - Make UITableView with custom cells editable on button click 【发布时间】:2012-04-02 04:25:33 【问题描述】:我想在我的 UITableView 标题旁边添加一个小按钮,当按下该按钮时,我的表格视图单元格将变为可编辑(为详细标签设置 UITextField),我可以编辑该按钮,然后再次单击该按钮并恢复并保存。
或者在页脚添加一个按钮,只显示保存并让单元格始终可编辑。
我该怎么做?
【问题讨论】:
【参考方案1】:子类UITableViewCell
,覆盖layoutSubviews
以准备正常和编辑模式的不同呈现(@property(nonatomic, getter=isEditing) BOOL editing
决定哪个)。或者您可以覆盖它的 setEditing:animated,但从未尝试过。
然后按钮应该调用类似的东西
[mytable setEditing:YES animated:YES];
当您调用此方法并将editing 的值设置为YES 时,表格视图会通过在每个可见的UITableViewCell 对象上调用setEditing:animated: 来进入编辑模式。在编辑设置为 NO 的情况下调用此方法会关闭编辑模式。在编辑模式下,表格的单元格可能会在每个单元格的左侧显示插入或删除控件,在右侧显示重新排序控件,具体取决于单元格的配置方式。 (详见 UITableViewCell 类参考。)表格视图的数据源可以通过实现 tableView:canEditRowAtIndexPath: 选择性地将单元格排除在编辑模式之外。
【讨论】:
手头有任何用户编程指南可以深入解释这一点吗?还有关于如何进行按钮交易的任何想法? @8vius 在这里查看答案。不完全是您想要的,但总体思路应该很清楚:***.com/questions/742829/… @8vius 按钮是什么?如果你不想打电话,你不必打电话给setEditing:NO
,你可以让表格处于编辑模式。实际上,您可以从一开始就在编辑模式中显示它,并且永远不要关闭它。
是的,但我的意思是如何在 UITableView 标题旁边添加一个按钮?
@8vius 你的意思是在左边/仪式一侧的桌子顶部吗?前者使用表格的tableHeaderView
属性很容易,后者更复杂,因为部分标题会自动更改宽度以匹配表格宽度,解决方案是使用viewForHeaderInSection
,创建自己的标题视图并添加按钮作为子视图的标题框架。表格的clipSubviews
必须是NO
以使子视图在表格框架之外可见。或者您可以使用标题的UIViewAutoresizing
。以上是关于iOS - 使 UITableView 与自定义单元格在按钮单击时可编辑的主要内容,如果未能解决你的问题,请参考以下文章
iPhone-如何将 Storyboard 与自定义 UITableView 单元格和 CellWithIdentifier 一起使用
didSelectRowAtIndexPath 与自定义单元格
如何使 C++ 中的 for each 循环函数与自定义类一起使用
使用以编程方式创建的自定义 UITableViewController 管理 UITableView