美好的一天!我只是想问,如何改变一个UILabel的背景颜色取决于在其上键入的数字?例如,如果数字是0,它就是蓝色,如果数字是1-2,它将变成绿色。如果数字是3-4,它将变成橙色。谢谢您的回答!更改UILabel的背景颜色
回答
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
}
您可以设置这样的...
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];
他正在谈论**背景颜色**。不是文字颜色。\ –
为背景颜色,它会是'[yourLbl setBackgroundColor:[UIcolor greenColor]];' – zbMax
你得到什么错误? –
尝试这种情况下,内部textfielddidendedition
-(void)textFieldDidEndEditing:(UITextField *)textField
{
if(label.text isEqualToString:0)
{
label.backgroundColor=[UIColor blueColor];
}
else
{
label.backgroundColor=[UIColor blueColor];
}
}
当比较对象值时,直接与'=='比较是无效的。对于字符串,可以有两个相同的字符串,但它们是不同的对象,在这种情况下,您的比较将失败。此外,你正在检查一个字符串与数字,所以我怀疑这甚至编译。另外,如果输入中有空格或0.0,会发生什么情况?或-0? – Abizern
你不能键入一个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;
}
单个数字号码 – LevisBotio
我的标签根据计算结果得到它的编号,所以我没有在上面输入 – LevisBotio
先将您的标签文本号转换为int,比使用backgroundColor标签背景。
int number = [yourLabel.text intValue];
if(number == 0)
yourLabel.backgroundColor = [UIColor blueColor];
else if(number == 1 || number == 2)
yourLabel.backgroundColor = [UIColor greenColor];
else if(number == 3 || number == 4)
yourLabel.backgroundColor = [UIColor orangeColor];
else
yourLabel.backgroundColor = [UIColor grayColor];
- 1. 更改的UILabel的背景颜色
- 2. 的UILabel更改背景颜色逐渐
- 3. UILabel背景颜色不更新在UITableView
- 4. 更改背景颜色3
- 5. jqueryMobile更改背景颜色
- 6. 更改背景颜色tabhost
- 7. 更改UIButton背景颜色
- 8. 更改背景颜色8
- 9. WL.SimpleDialog更改背景颜色
- 10. 更改背景颜色
- 11. UICollectionViewCell更改背景颜色
- 12. 更改QLPreviewController背景颜色
- 13. 更改背景颜色
- 14. 更改UIAlertcontroller背景颜色
- 15. 更改TToolBar背景颜色
- 16. Gnuplot - 更改背景颜色
- 17. select2更改背景颜色
- 18. 更改fancybox2背景颜色
- 19. 更改背景颜色
- 20. 更改DIV背景颜色
- 21. 更改背景颜色
- 22. 更改Listitem背景颜色
- 23. QMenu更改背景颜色
- 24. 更改背景颜色
- 25. 更改HighCharts背景颜色?
- 26. 更改背景颜色
- 27. model.addrow()更改背景颜色
- 28. 更改背景颜色
- 29. 更改UITableViewController背景颜色
- 30. 更改背景颜色
请说明您的具体问题或添加额外的细节,突显正是你需要的。 –
我想根据显示的数字更改标签的背景颜色。 – LevisBotio
检查我的答案。 –