【问题标题】:Editing UITextField in UITableView (enable/disable input)?在 UITableView 中编辑 UITextField(启用/禁用输入)?
【发布时间】:2011-01-03 12:52:32
【问题描述】:

我正在尝试实现类似于 Apples Contact.app 的功能。

当用户在详细视图中按下编辑时,文本字段应启用,当用户按下完成/保存时,输入 UITextFields 应禁用。

所以我补充说:

-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField {
    return [(UITableView*)self.view isEditing];
}

并将控制器设置为每个文本字段的代理,但如果用户在编辑过程中按下完成/保存,则键盘保持打开状态,用户可以编辑字符串。我怎样才能确保不会发生这种情况?

【问题讨论】:

    标签: cocoa-touch uitableview uitextfield edit


    【解决方案1】:

    通过将文本字段的委托设置为单元格,并实现这些方法来解决。

    - (void)setEditing:(BOOL)editing animated:(BOOL)animated {
        [super setEditing:editing animated:animated];
        if (!editing)
            [textField resignFirstResponder];
    }
    
    - (BOOL) textFieldShouldBeginEditing:(UITextField *)textField {
        return [self isEditing];
    }
    

    【讨论】:

      【解决方案2】:

      您只处理了编辑的开始......您应该记录哪个 uitextbox 是第一响应者,然后如果您点击保存按钮,您应该在 texbox 上调用 resignFirstResponder。

      希望这会有所帮助, 莫西

      【讨论】: