如何在自定义 UITableViewCell 中控制 UITextFields 的编辑

Posted

技术标签:

【中文标题】如何在自定义 UITableViewCell 中控制 UITextFields 的编辑【英文标题】:How to control editing of UITextFields within custom UITableViewCell 【发布时间】:2012-03-01 12:17:35 【问题描述】:

我有一个自定义(子类)UITableViewCell,其中包含多个 UITextField。

我想让它在 TableView 处于编辑模式时,单击 UITextField 将启用 TextField 的编辑。但是,当不处于编辑模式时,单击单元格(或其中的任何 UITextField)会选择该单元格,以便我可以通过 didSelectCellAtIndexPath 方法控制行为。

最好的方法是什么?

在此先感谢

【问题讨论】:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 【参考方案1】:

最好的方法(也是最优雅的)是覆盖单元格的setEditing:(BOOL)editing animated:(BOOL)animated 方法:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
    [super setEditing:editing animated:animated];
    self.textField.enabled = editing;

如果需要继承普通UITableViewCell的行为记得调用super

【讨论】:

有道理!今天晚上我就试试吧。谢谢

以上是关于如何在自定义 UITableViewCell 中控制 UITextFields 的编辑的主要内容,如果未能解决你的问题,请参考以下文章

如何在自定义 UITableViewCell 中控制 UITextFields 的编辑

如何借助 AutoLayout 在自定义 UITableviewCell 中添加自定义 UIView(xib)?

如何捕获 UIButton 事件:在自定义 UITableViewCell 实现中添加了 UIButton

如何在自定义 UITableViewCell 中创建 UIImageVIew? (迅速)

如何让 UITableViewCell 在自定义 UIView 子类上调用 setHighlighted 或 setSelected?

如何在自定义 UITableViewCell 中更改 UIButton 标题的权重属性?