如何禁用/启用viewcontroller中的所有文本字段

时间:2011-02-18 16:07:39

标签: ios uitextfield

这是一个关于最佳实践的问题。我有一个包含许多文本字段的视图,我需要一种方法,可以在同时启用和禁用所有文本字段之间切换。我认为可行的一种方法是:

- (void)activateTextFields:(BOOL)activate {
    [firstTextField setUserInteractionEnabled:activate];
    [secondTextField setUserInteractionEnabled:activate];
    ...
    [lastTextField setUserInteractionEnabled:activate];
}

但是,我想知道是否有更好的方法(假设有大量字段)只需一行即可同时禁用/启用所有文本字段。

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

您可以在启用了userInteraction的所有文本字段的顶部放置一个透明视图,这将“捕获”所有点击并阻止它们转到文本字段。

编辑:这可能更好:只需从此方法返回NO:

  

textFieldShouldBeginEditing:问   如果编辑应该开始委托   指定的文本字段。

     

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField参数textField编辑的文本字段   开始。返回值如果是,则为YES   编辑会议应该启动;   否则,NO禁止编辑。

这样,只有一点状态要改变,你的类的“shouldTextFieldsAllowEditing”布尔属性。

答案 1 :(得分:0)