对,大多数人都很容易。 因此,在健康应用程序中,我有几个用于计算用户BMI的文本字段。我有以下代码操作ALL EACH链接到一个按钮来计算BMI。我们的想法是,如果所有高度字段和权重字段都为空,则应用程序会禁用该按钮。字段链接到cmDisable和feetDisable等...任何人都可以想到更简单的方法吗? 非常感谢
- (IBAction)cmDisable:(id)sender {
if (((UITextField*)sender).text.length > 0) {
[_calculateButton setEnabled:YES];
} else {
[_calculateButton setEnabled:NO];
}
}
- (IBAction)feetDisable:(id)sender {
if (((UITextField*)sender).text.length > 0) {
[_calculateButton setEnabled:YES];
} else {
[_calculateButton setEnabled:NO];
}
}
- (IBAction)inchesDisable:(id)sender {
if (((UITextField*)sender).text.length > 0) {
[_calculateButton setEnabled:YES];
} else {
[_calculateButton setEnabled:NO];
}
}
- (IBAction)kgDisable:(id)sender {
if (((UITextField*)sender).text.length > 0) {
[_calculateButton setEnabled:YES];
} else {
[_calculateButton setEnabled:NO];
}
}
- (IBAction)stoneDisable:(id)sender {
if (((UITextField*)sender).text.length > 0) {
[_calculateButton setEnabled:YES];
} else {
[_calculateButton setEnabled:NO];
}
}
- (IBAction)poundsDisable:(id)sender {
if (((UITextField*)sender).text.length > 0) {
[_calculateButton setEnabled:YES];
} else {
[_calculateButton setEnabled:NO];
}
}
答案 0 :(得分:1)
因此,如果我理解正确,您希望在所有字段为空时禁用按钮。
您可以做的是将所有按钮添加到Interface Builder的集合中。所以你会有
IBOutletCollection(UITextField) NSArray *fields; //Linked to all fields
然后,您将所有字段连接到"编辑结束" UITextFields的操作。该方法需要以下内容:
- (IBAction) fieldsValueChanged:(id) sender {
BOOL shouldDisable = NO;
for(UITextField *next in fields) {
if(next.text.length > 0) {
shouldDisable = YES;
break;
}
}
[_calculateButton setEnabled:shouldDisable];
}