日安!我只想问一问,根据输入的数字,如何更改UILabel的背景色?例如,如果数字是0,它是蓝色的,如果数字是1-2,它将变成绿色。如果这个数字是3-4,它就会变成橙色。谢谢你的回答!
发布于 2014-01-10 15:43:29
UITextFieldDelegate没有didChange方法。您必须手动添加行为。您可以使用shouldChangeCharactersInRange:方法,但我个人建议您不要重写方法,除非绝对必须这样做。
[yourTextField addTarget:self action:@selector(textFieldDidChange) forControlEvents:UIControlEventEditingChanged];然后,在目标方法中,将背景颜色设置为:
- (void)textFieldDidChange{
if ([yourTextField.text isEqualToString:@"1"] || [yourTextField.text isEqualToString:@"2"])
yourLabel.backgroundColor = [UIColor blueColor];
else if (...)
.
.
//and so on
}发布于 2014-01-10 10:11:59
你可以这样设置..。
int number = [yourLbl.text intValue];
if(number == 0)
yourLbl.backgroundColor = [UIColor blueColor];
else if(number == 1 || number == 2)
yourLbl.backgroundColor = [UIColor greenColor];
else if(number == 3 || number == 4)
yourLbl.backgroundColor = [UIColor orangeColor];
else
yourLbl.backgroundColor = [UIColor redColor];发布于 2014-01-10 10:24:22
不能在UILabel上键入,请使用UITextField
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
int number = [textField.text intValue];
if(number == 0) {
label.backgroundColor = [UIColor blueColor];
} else if(number == 1 || number == 2) {
label.backgroundColor = [UIColor greenColor];
} else if(number == 3 || number == 4)
label.backgroundColor = [UIColor orangeColor];
}
return YES;
}https://stackoverflow.com/questions/21041400
复制相似问题