首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变UILabel的背景色

改变UILabel的背景色
EN

Stack Overflow用户
提问于 2014-01-10 10:08:20
回答 5查看 2.7K关注 0票数 1

日安!我只想问一问,根据输入的数字,如何更改UILabel的背景色?例如,如果数字是0,它是蓝色的,如果数字是1-2,它将变成绿色。如果这个数字是3-4,它就会变成橙色。谢谢你的回答!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-10 15:43:29

UITextFieldDelegate没有didChange方法。您必须手动添加行为。您可以使用shouldChangeCharactersInRange:方法,但我个人建议您不要重写方法,除非绝对必须这样做。

代码语言:javascript
复制
[yourTextField addTarget:self action:@selector(textFieldDidChange) forControlEvents:UIControlEventEditingChanged];

然后,在目标方法中,将背景颜色设置为:

代码语言:javascript
复制
- (void)textFieldDidChange{

    if ([yourTextField.text isEqualToString:@"1"] || [yourTextField.text isEqualToString:@"2"])
        yourLabel.backgroundColor = [UIColor blueColor];
    else if (...)
        .
        .
        //and so on
}
票数 2
EN

Stack Overflow用户

发布于 2014-01-10 10:11:59

你可以这样设置..。

代码语言:javascript
复制
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];
票数 3
EN

Stack Overflow用户

发布于 2014-01-10 10:24:22

不能在UILabel上键入,请使用UITextField

代码语言:javascript
复制
- (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;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21041400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档