这是一个关于最佳实践的问题。我有一个包含许多文本字段的视图,我需要一种方法,可以在同时启用和禁用所有文本字段之间切换。我认为可行的一种方法是:
- (void)activateTextFields:(BOOL)activate {
[firstTextField setUserInteractionEnabled:activate];
[secondTextField setUserInteractionEnabled:activate];
...
[lastTextField setUserInteractionEnabled:activate];
}
但是,我想知道是否有更好的方法(假设有大量字段)只需一行即可同时禁用/启用所有文本字段。
感谢您的帮助!
答案 0 :(得分:3)
您可以在启用了userInteraction的所有文本字段的顶部放置一个透明视图,这将“捕获”所有点击并阻止它们转到文本字段。
编辑:这可能更好:只需从此方法返回NO:
textFieldShouldBeginEditing:问 如果编辑应该开始委托 指定的文本字段。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
参数textField编辑的文本字段 开始。返回值如果是,则为YES 编辑会议应该启动; 否则,NO禁止编辑。
这样,只有一点状态要改变,你的类的“shouldTextFieldsAllowEditing”布尔属性。
答案 1 :(得分:0)