iOS:根据编辑或非编辑模式更改textfield userInteractionEnabled的状态

时间:2014-01-11 09:55:57

标签: ios uitableview uitextfield

在表格视图单元格中,我想在编辑模式下将textfield的userInteractionEnabled属性设置为YES,在非编辑模式下设置为NO(这样整个单元格都是“可点击的”并触发segue)。

所以我已将代码更改为(表格视图单元格):

- (void) setEditing:(BOOL)editing animated:(BOOL)animated{
    [super setEditing:editing animated:animated];
    if (editing){
        self.title.userInteractionEnabled = YES;
    }  else if (!editing){
        self.title.userInteractionEnabled = NO;
    }
}

如果我这样做并结束编辑模式,我的键盘会被正确隐藏,所有文本字段都会更改为非编辑模式。但是,如果我改回编辑模式,我的上一个活动文本字段将被“记住”,并且键盘会自动显示,因为键盘光标已经在最后一个文本字段中。

如果没有此启用和禁用操作(并且始终启用它),它可以正常工作,并且在启动编辑模式时不会选择任何文本字段。我在这里错过了什么?我需要改变什么?

1 个答案:

答案 0 :(得分:0)

禁用时,请尝试在文本字段上调用resignFirstResponder

您可能还希望在使用文本字段进行编辑和仅显示标签之间切换,以便它们在视觉上不同并且不会让用户感到困惑(“为什么我现在无法点击进行编辑?”)。